memos/proto/gen/store/README.md

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 string The local storage path for STORAGE_TYPE_LOCAL. 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)