slash-e/proto/gen/api/v1/README.md

41 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

api/v1/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

api/v1/user_service.proto

CreateUserAccessTokenRequest

Field Type Label Description
id int32 id is the user id.
description string description is the description of the access token.
expires_at google.protobuf.Timestamp optional expires_at is the expiration time of the access token. If expires_at is not set, the access token will never expire.

CreateUserAccessTokenResponse

Field Type Label Description
access_token UserAccessToken

CreateUserRequest

Field Type Label Description
user User

CreateUserResponse

Field Type Label Description
user User

DeleteUserAccessTokenRequest

Field Type Label Description
id int32 id is the user id.
access_token string access_token is the access token to delete.

DeleteUserAccessTokenResponse

DeleteUserRequest

Field Type Label Description
id int32

DeleteUserResponse

GetUserRequest

Field Type Label Description
id int32

GetUserResponse

Field Type Label Description
user User

ListUserAccessTokensRequest

Field Type Label Description
id int32 id is the user id.

ListUserAccessTokensResponse

Field Type Label Description
access_tokens UserAccessToken repeated

ListUsersRequest

ListUsersResponse

Field Type Label Description
users User repeated

UpdateUserRequest

Field Type Label Description
user User
update_mask google.protobuf.FieldMask

UpdateUserResponse

Field Type Label Description
user User

User

Field Type Label Description
id int32
row_status RowStatus
created_time google.protobuf.Timestamp
updated_time google.protobuf.Timestamp
role Role
email string
nickname string
password string

UserAccessToken

Field Type Label Description
access_token string
description string
issued_at google.protobuf.Timestamp
expires_at google.protobuf.Timestamp

Role

Name Number Description
ROLE_UNSPECIFIED 0
ADMIN 1
USER 2

UserService

Method Name Request Type Response Type Description
ListUsers ListUsersRequest ListUsersResponse ListUsers returns a list of users.
GetUser GetUserRequest GetUserResponse GetUser returns a user by id.
CreateUser CreateUserRequest CreateUserResponse CreateUser creates a new user.
UpdateUser UpdateUserRequest UpdateUserResponse
DeleteUser DeleteUserRequest DeleteUserResponse DeleteUser deletes a user by id.
ListUserAccessTokens ListUserAccessTokensRequest ListUserAccessTokensResponse ListUserAccessTokens returns a list of access tokens for a user.
CreateUserAccessToken CreateUserAccessTokenRequest CreateUserAccessTokenResponse CreateUserAccessToken creates a new access token for a user.
DeleteUserAccessToken DeleteUserAccessTokenRequest DeleteUserAccessTokenResponse DeleteUserAccessToken deletes an access token for a user.

Top

api/v1/auth_service.proto

GetAuthStatusRequest

GetAuthStatusResponse

Field Type Label Description
user User

SignInRequest

Field Type Label Description
email string
password string

SignInResponse

Field Type Label Description
user User

SignOutRequest

SignOutResponse

SignUpRequest

Field Type Label Description
email string
nickname string
password string

SignUpResponse

Field Type Label Description
user User

AuthService

Method Name Request Type Response Type Description
GetAuthStatus GetAuthStatusRequest GetAuthStatusResponse
SignIn SignInRequest SignInResponse
SignUp SignUpRequest SignUpResponse
SignOut SignOutRequest SignOutResponse

Top

api/v1/collection_service.proto

Collection

Field Type Label Description
id int32
creator_id int32
created_time google.protobuf.Timestamp
updated_time google.protobuf.Timestamp
name string
title string
description string
shortcut_ids int32 repeated
visibility Visibility

CreateCollectionRequest

Field Type Label Description
collection Collection

CreateCollectionResponse

Field Type Label Description
collection Collection

DeleteCollectionRequest

Field Type Label Description
id int32

DeleteCollectionResponse

GetCollectionByNameRequest

Field Type Label Description
name string

GetCollectionByNameResponse

Field Type Label Description
collection Collection

GetCollectionRequest

Field Type Label Description
id int32

GetCollectionResponse

Field Type Label Description
collection Collection

ListCollectionsRequest

ListCollectionsResponse

Field Type Label Description
collections Collection repeated

UpdateCollectionRequest

Field Type Label Description
collection Collection
update_mask google.protobuf.FieldMask

UpdateCollectionResponse

Field Type Label Description
collection Collection

CollectionService

Method Name Request Type Response Type Description
ListCollections ListCollectionsRequest ListCollectionsResponse ListCollections returns a list of collections.
GetCollection GetCollectionRequest GetCollectionResponse GetCollection returns a collection by id.
GetCollectionByName GetCollectionByNameRequest GetCollectionByNameResponse GetCollectionByName returns a collection by name.
CreateCollection CreateCollectionRequest CreateCollectionResponse CreateCollection creates a collection.
UpdateCollection UpdateCollectionRequest UpdateCollectionResponse UpdateCollection updates a collection.
DeleteCollection DeleteCollectionRequest DeleteCollectionResponse DeleteCollection deletes a collection by id.

Top

api/v1/memo_service.proto

CreateMemoRequest

Field Type Label Description
memo Memo

CreateMemoResponse

Field Type Label Description
memo Memo

DeleteMemoRequest

Field Type Label Description
id int32

DeleteMemoResponse

GetMemoRequest

Field Type Label Description
id int32

GetMemoResponse

Field Type Label Description
memo Memo

ListMemosRequest

ListMemosResponse

Field Type Label Description
memos Memo repeated

Memo

Field Type Label Description
id int32
creator_id int32
created_time google.protobuf.Timestamp
updated_time google.protobuf.Timestamp
row_status RowStatus
name string
title string
content string
tags string repeated
visibility Visibility

UpdateMemoRequest

Field Type Label Description
memo Memo
update_mask google.protobuf.FieldMask

UpdateMemoResponse

Field Type Label Description
memo Memo

MemoService

Method Name Request Type Response Type Description
ListMemos ListMemosRequest ListMemosResponse ListMemos returns a list of memos.
GetMemo GetMemoRequest GetMemoResponse GetMemo returns a memo by id.
CreateMemo CreateMemoRequest CreateMemoResponse CreateMemo creates a memo.
UpdateMemo UpdateMemoRequest UpdateMemoResponse UpdateMemo updates a memo.
DeleteMemo DeleteMemoRequest DeleteMemoResponse DeleteMemo deletes a memo by id.

Top

api/v1/shortcut_service.proto

CreateShortcutRequest

Field Type Label Description
shortcut Shortcut

CreateShortcutResponse

Field Type Label Description
shortcut Shortcut

DeleteShortcutRequest

Field Type Label Description
id int32

DeleteShortcutResponse

GetShortcutAnalyticsRequest

Field Type Label Description
id int32

GetShortcutAnalyticsResponse

Field Type Label Description
references GetShortcutAnalyticsResponse.AnalyticsItem repeated
devices GetShortcutAnalyticsResponse.AnalyticsItem repeated
browsers GetShortcutAnalyticsResponse.AnalyticsItem repeated

GetShortcutAnalyticsResponse.AnalyticsItem

Field Type Label Description
name string
count int32

GetShortcutByNameRequest

Field Type Label Description
name string

GetShortcutByNameResponse

Field Type Label Description
shortcut Shortcut

GetShortcutRequest

Field Type Label Description
id int32

GetShortcutResponse

Field Type Label Description
shortcut Shortcut

ListShortcutsRequest

ListShortcutsResponse

Field Type Label Description
shortcuts Shortcut repeated

OpenGraphMetadata

Field Type Label Description
title string
description string
image string

Shortcut

Field Type Label Description
id int32
creator_id int32
created_time google.protobuf.Timestamp
updated_time google.protobuf.Timestamp
row_status RowStatus
name string
link string
title string
tags string repeated
description string
visibility Visibility
view_count int32
og_metadata OpenGraphMetadata

UpdateShortcutRequest

Field Type Label Description
shortcut Shortcut
update_mask google.protobuf.FieldMask

UpdateShortcutResponse

Field Type Label Description
shortcut Shortcut

ShortcutService

Method Name Request Type Response Type Description
ListShortcuts ListShortcutsRequest ListShortcutsResponse ListShortcuts returns a list of shortcuts.
GetShortcut GetShortcutRequest GetShortcutResponse GetShortcut returns a shortcut by id.
GetShortcutByName GetShortcutByNameRequest GetShortcutByNameResponse GetShortcutByName returns a shortcut by name.
CreateShortcut CreateShortcutRequest CreateShortcutResponse CreateShortcut creates a shortcut.
UpdateShortcut UpdateShortcutRequest UpdateShortcutResponse UpdateShortcut updates a shortcut.
DeleteShortcut DeleteShortcutRequest DeleteShortcutResponse DeleteShortcut deletes a shortcut by name.
GetShortcutAnalytics GetShortcutAnalyticsRequest GetShortcutAnalyticsResponse GetShortcutAnalytics returns the analytics for a shortcut.

Top

api/v1/subscription_service.proto

GetSubscriptionRequest

GetSubscriptionResponse

Field Type Label Description
subscription Subscription

Subscription

Field Type Label Description
plan PlanType
started_time google.protobuf.Timestamp
expires_time google.protobuf.Timestamp

UpdateSubscriptionRequest

Field Type Label Description
license_key string

UpdateSubscriptionResponse

Field Type Label Description
subscription Subscription

PlanType

Name Number Description
PLAN_TYPE_UNSPECIFIED 0
FREE 1
PRO 2

SubscriptionService

Method Name Request Type Response Type Description
GetSubscription GetSubscriptionRequest GetSubscriptionResponse
UpdateSubscription UpdateSubscriptionRequest UpdateSubscriptionResponse

Top

api/v1/user_setting_service.proto

GetUserSettingRequest

Field Type Label Description
id int32 id is the user id.

GetUserSettingResponse

Field Type Label Description
user_setting UserSetting

UpdateUserSettingRequest

Field Type Label Description
id int32 id is the user id.
user_setting UserSetting user_setting is the user setting to update.
update_mask google.protobuf.FieldMask update_mask is the field mask to update.

UpdateUserSettingResponse

Field Type Label Description
user_setting UserSetting

UserSetting

Field Type Label Description
id int32 id is the user id.
locale UserSetting.Locale locale is the user locale.
color_theme UserSetting.ColorTheme color_theme is the user color theme.

UserSetting.ColorTheme

Name Number Description
COLOR_THEME_UNSPECIFIED 0
COLOR_THEME_SYSTEM 1
COLOR_THEME_LIGHT 2
COLOR_THEME_DARK 3

UserSetting.Locale

Name Number Description
LOCALE_UNSPECIFIED 0
LOCALE_EN 1
LOCALE_ZH 2

UserSettingService

Method Name Request Type Response Type Description
GetUserSetting GetUserSettingRequest GetUserSettingResponse GetUserSetting returns the user setting.
UpdateUserSetting UpdateUserSettingRequest UpdateUserSettingResponse UpdateUserSetting updates the user setting.

Top

api/v1/workspace_service.proto

AutoBackupWorkspaceSetting

Field Type Label Description
enabled bool Whether auto backup is enabled.
cron_expression string The cron expression for auto backup. For example, "0 0 0 * * *" means backup at 00:00:00 every day. See https://en.wikipedia.org/wiki/Cron for more details.
max_keep int32 The maximum number of backups to keep.

GetWorkspaceProfileRequest

GetWorkspaceProfileResponse

Field Type Label Description
profile WorkspaceProfile The workspace profile.

GetWorkspaceSettingRequest

GetWorkspaceSettingResponse

Field Type Label Description
setting WorkspaceSetting The user setting.

UpdateWorkspaceSettingRequest

Field Type Label Description
setting WorkspaceSetting The user setting.
update_mask google.protobuf.FieldMask The update mask.

UpdateWorkspaceSettingResponse

Field Type Label Description
setting WorkspaceSetting The user setting.

WorkspaceProfile

Field Type Label Description
mode string Current workspace mode: dev, prod.
version string Current workspace version.
plan PlanType The workspace plan.
enable_signup bool Whether to enable other users to sign up.
custom_style string The custom style.
custom_script string The custom script.

WorkspaceSetting

Field Type Label Description
license_key string
enable_signup bool Whether to enable other users to sign up.
instance_url string The instance URL.
custom_style string The custom style.
custom_script string The custom script.
auto_backup AutoBackupWorkspaceSetting The auto backup setting. (Unimplemented)
default_visibility Visibility The default visibility of shortcuts and collections.

WorkspaceService

Method Name Request Type Response Type Description
GetWorkspaceProfile GetWorkspaceProfileRequest GetWorkspaceProfileResponse
GetWorkspaceSetting GetWorkspaceSettingRequest GetWorkspaceSettingResponse
UpdateWorkspaceSetting UpdateWorkspaceSettingRequest UpdateWorkspaceSettingResponse

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)