memos/proto/gen/store/README.md
2024-04-13 02:08:35 +08:00

17 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

store/activity.proto

ActivityMemoCommentPayload

Field Type Label Description
memo_id int32
related_memo_id int32

ActivityPayload

Field Type Label Description
memo_comment ActivityMemoCommentPayload
version_update ActivityVersionUpdatePayload

ActivityVersionUpdatePayload

Field Type Label Description
version string

Top

store/common.proto

RowStatus

Name Number Description
ROW_STATUS_UNSPECIFIED 0
NORMAL 1
ARCHIVED 2

Top

store/idp.proto

IdentityProviderConfig

Field Type Label Description
oauth2 IdentityProviderConfig.OAuth2

IdentityProviderConfig.FieldMapping

Field Type Label Description
identifier string
display_name string
email string

IdentityProviderConfig.OAuth2

Field Type Label Description
client_id string
client_secret string
auth_url string
token_url string
user_info_url string
scopes string repeated
field_mapping IdentityProviderConfig.FieldMapping

Top

store/inbox.proto

InboxMessage

Field Type Label Description
type InboxMessage.Type
activity_id int32 optional

InboxMessage.Type

Name Number Description
TYPE_UNSPECIFIED 0
TYPE_MEMO_COMMENT 1
TYPE_VERSION_UPDATE 2

Top

store/reaction.proto

Reaction

Field Type Label Description
id int32
created_ts int64
creator_id int32
content_id string content_id is the id of the content that the reaction is for. This can be a memo. e.g. memos/101
reaction_type Reaction.Type

Reaction.Type

Name Number Description
TYPE_UNSPECIFIED 0
THUMBS_UP 1
THUMBS_DOWN 2
HEART 3
FIRE 4
CLAPPING_HANDS 5
LAUGH 6
OK_HAND 7
ROCKET 8
EYES 9
THINKING_FACE 10
CLOWN_FACE 11
QUESTION_MARK 12

Top

store/storage.proto

S3Config

Field Type Label Description
end_point string
path string
region string
access_key string
secret_key string
bucket string
url_prefix string
url_suffix string
pre_sign bool

Storage

Field Type Label Description
id int32
name string
type Storage.Type
config StorageConfig

StorageConfig

Field Type Label Description
s3_config S3Config

Storage.Type

Name Number Description
TYPE_UNSPECIFIED 0
S3 1

Top

store/user_setting.proto

AccessTokensUserSetting

Field Type Label Description
access_tokens AccessTokensUserSetting.AccessToken repeated

AccessTokensUserSetting.AccessToken

Field Type Label Description
access_token string The access token is a JWT token. Including expiration time, issuer, etc.
description string A description for the access token.

UserSetting

Field Type Label Description
user_id int32
key UserSettingKey
access_tokens AccessTokensUserSetting
locale string
appearance string
memo_visibility string
telegram_user_id string

UserSettingKey

Name Number Description
USER_SETTING_KEY_UNSPECIFIED 0
USER_SETTING_ACCESS_TOKENS 1 Access tokens for the user.
USER_SETTING_LOCALE 2 The locale of the user.
USER_SETTING_APPEARANCE 3 The appearance of the user.
USER_SETTING_MEMO_VISIBILITY 4 The visibility of the memo.
USER_SETTING_TELEGRAM_USER_ID 5 The telegram user id of the user.

Top

store/webhook.proto

Webhook

Field Type Label Description
id int32
created_ts int64
updated_ts int64
creator_id int32
row_status RowStatus
name string
url string

Top

store/workspace_setting.proto

WorkspaceBasicSetting

Field Type Label Description
server_id string
secret_key string

WorkspaceCustomProfile

Field Type Label Description
title string
description string
logo_url string
locale string
appearance string

WorkspaceGeneralSetting

Field Type Label Description
instance_url string instance_url is the instance URL.
disallow_signup bool disallow_signup is the flag to disallow signup.
disallow_password_login bool disallow_password_login is the flag to disallow password login.
additional_script string additional_script is the additional script.
additional_style string additional_style is the additional style.
custom_profile WorkspaceCustomProfile custom_profile is the custom profile.

WorkspaceMemoRelatedSetting

Field Type Label Description
disallow_public_visible bool disallow_public_share disallows set memo as public visible.
display_with_update_time bool display_with_update_time orders and displays memo with update time.

WorkspaceSetting

Field Type Label Description
key WorkspaceSettingKey
basic_setting WorkspaceBasicSetting
general_setting WorkspaceGeneralSetting
storage_setting WorkspaceStorageSetting
memo_related_setting WorkspaceMemoRelatedSetting
telegram_integration_setting WorkspaceTelegramIntegrationSetting

WorkspaceStorageSetting

Field Type Label Description
storage_type WorkspaceStorageSetting.StorageType storage_type is the storage type.
actived_external_storage_id int32 optional The id of actived external storage.
local_storage_path_template string The template of local storage path. e.g. assets/{timestamp}_{filename}
upload_size_limit_mb int64 The max upload size in megabytes.

WorkspaceTelegramIntegrationSetting

Field Type Label Description
bot_token string bot_token is the telegram bot token.

WorkspaceSettingKey

Name Number Description
WORKSPACE_SETTING_KEY_UNSPECIFIED 0
WORKSPACE_SETTING_BASIC 1 WORKSPACE_SETTING_BASIC is the key for basic settings.
WORKSPACE_SETTING_GENERAL 2 WORKSPACE_SETTING_GENERAL is the key for general settings.
WORKSPACE_SETTING_STORAGE 3 WORKSPACE_SETTING_STORAGE is the key for storage settings.
WORKSPACE_SETTING_MEMO_RELATED 4 WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings.
WORKSPACE_SETTING_TELEGRAM_INTEGRATION 5 WORKSPACE_SETTING_TELEGRAM_INTEGRATION is the key for telegram integration settings.

WorkspaceStorageSetting.StorageType

Name Number Description
STORAGE_TYPE_UNSPECIFIED 0
STORAGE_TYPE_DATABASE 1 STORAGE_TYPE_DATABASE is the database storage type.
STORAGE_TYPE_LOCAL 2 STORAGE_TYPE_LOCAL is the local storage type.
STORAGE_TYPE_EXTERNAL 3 STORAGE_TYPE_EXTERNAL is the external storage type.

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)