mirror of
https://github.com/usememos/memos.git
synced 2024-11-16 19:56:11 +08:00
17 KiB
17 KiB
Protocol Documentation
Table of Contents
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 |
store/common.proto
RowStatus
Name | Number | Description |
---|---|---|
ROW_STATUS_UNSPECIFIED | 0 | |
NORMAL | 1 | |
ARCHIVED | 2 |
store/idp.proto
IdentityProviderConfig
Field | Type | Label | Description |
---|---|---|---|
oauth2 | IdentityProviderConfig.OAuth2 |
IdentityProviderConfig.FieldMapping
Field | Type | Label | Description |
---|---|---|---|
identifier | string | ||
display_name | string | ||
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 |
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 |
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 |
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 |
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. |
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 |
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) |