mirror of
https://github.com/aykhans/slash-e.git
synced 2025-10-24 05:50:57 +00:00
Protocol Documentation
Table of Contents
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 | ||
| params | ActivityShorcutViewPayload.ParamsEntry | repeated |
ActivityShorcutViewPayload.ParamsEntry
| Field | Type | Label | Description |
|---|---|---|---|
| key | string | ||
| value | ActivityShorcutViewPayload.ValueList |
ActivityShorcutViewPayload.ValueList
| Field | Type | Label | Description |
|---|---|---|---|
| values | string | repeated |
store/common.proto
RowStatus
| Name | Number | Description |
|---|---|---|
| ROW_STATUS_UNSPECIFIED | 0 | |
| NORMAL | 1 | |
| ARCHIVED | 2 |
Visibility
| Name | Number | Description |
|---|---|---|
| VISIBILITY_UNSPECIFIED | 0 | |
| WORKSPACE | 1 | |
| PUBLIC | 2 |
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 |
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 |
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 | ||
| name | string | ||
| link | string | ||
| title | string | ||
| tags | string | repeated | |
| description | string | ||
| visibility | Visibility | ||
| og_metadata | OpenGraphMetadata |
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. |
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) |