slash-e/proto/gen/store/README.md
2024-08-29 20:13:10 +08:00

14 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

store/activity.proto

ActivityShorcutCreatePayload

Field Type Label Description
shortcut_id int32

ActivityShorcutViewPayload

Field Type Label Description
shortcut_id int32
ip string
referer string
user_agent string

Top

store/common.proto

RowStatus

Name Number Description
ROW_STATUS_UNSPECIFIED 0
NORMAL 1
ARCHIVED 2

Visibility

Name Number Description
VISIBILITY_UNSPECIFIED 0
PRIVATE 1
WORKSPACE 2
PUBLIC 3

Top

store/collection.proto

Collection

Field Type Label Description
id int32
creator_id int32
created_ts int64
updated_ts int64
name string
title string
description string
shortcut_ids int32 repeated
visibility Visibility

Top

store/idp.proto

IdentityProvider

Field Type Label Description
id string The unique identifier of the identity provider.
title string
type IdentityProvider.Type
config IdentityProviderConfig

IdentityProviderConfig

Field Type Label Description
oauth2 IdentityProviderConfig.OAuth2Config

IdentityProviderConfig.FieldMapping

Field Type Label Description
identifier string
display_name string

IdentityProviderConfig.OAuth2Config

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

IdentityProvider.Type

Name Number Description
TYPE_UNSPECIFIED 0
OAUTH2 1

Top

store/shortcut.proto

OpenGraphMetadata

Field Type Label Description
title string
description string
image string

Shortcut

Field Type Label Description
id int32
creator_id int32
created_ts int64
updated_ts int64
row_status RowStatus
name string
link string
title string
tags string repeated
description string
visibility Visibility
og_metadata OpenGraphMetadata

Top

store/user_setting.proto

UserSetting

Field Type Label Description
user_id int32
key UserSettingKey
general UserSetting.GeneralSetting
access_tokens UserSetting.AccessTokensSetting

UserSetting.AccessTokensSetting

Field Type Label Description
access_tokens UserSetting.AccessTokensSetting.AccessToken repeated Nested repeated field

UserSetting.AccessTokensSetting.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.GeneralSetting

Field Type Label Description
locale string
color_theme string

UserSettingKey

Name Number Description
USER_SETTING_KEY_UNSPECIFIED 0
USER_SETTING_GENERAL 1 User general settings.
USER_SETTING_ACCESS_TOKENS 2 User access tokens.

Top

store/workspace_setting.proto

WorkspaceSetting

Field Type Label Description
key WorkspaceSettingKey
raw string
general WorkspaceSetting.GeneralSetting
security WorkspaceSetting.SecuritySetting
shortcut_related WorkspaceSetting.ShortcutRelatedSetting
identity_provider WorkspaceSetting.IdentityProviderSetting

WorkspaceSetting.GeneralSetting

Field Type Label Description
secret_session string
license_key string
instance_url string
branding bytes
custom_style string

WorkspaceSetting.IdentityProviderSetting

Field Type Label Description
identity_providers IdentityProvider repeated

WorkspaceSetting.SecuritySetting

Field Type Label Description
disallow_user_registration bool
disallow_password_auth bool

WorkspaceSetting.ShortcutRelatedSetting

Field Type Label Description
default_visibility Visibility

WorkspaceSettingKey

Name Number Description
WORKSPACE_SETTING_KEY_UNSPECIFIED 0
WORKSPACE_SETTING_GENERAL 1 Workspace general settings.
WORKSPACE_SETTING_SECURITY 2 Workspace security settings.
WORKSPACE_SETTING_SHORTCUT_RELATED 3 Workspace shortcut-related settings.
WORKSPACE_SETTING_IDENTITY_PROVIDER 4 Workspace identity provider settings.
WORKSPACE_SETTING_LICENSE_KEY 10 TODO: remove the following keys. The license key.
WORKSPACE_SETTING_SECRET_SESSION 11 The secret session key used to encrypt session data.
WORKSPACE_SETTING_CUSTOM_STYLE 12 The custom style.
WORKSPACE_SETTING_DEFAULT_VISIBILITY 13 The default visibility of shortcuts and collections.

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)