refactor: workspace setting definitions

This commit is contained in:
Steven
2024-07-29 22:03:21 +08:00
parent 61d01a53eb
commit ecf77e0774
36 changed files with 1277 additions and 1052 deletions

View File

@ -25,15 +25,26 @@ service UserSettingService {
}
message UserSetting {
// id is the user id.
int32 id = 1;
int32 user_id = 1;
UserSettingGeneral general = 2;
}
GeneralSetting general = 2;
message UserSettingGeneral {
string locale = 1;
string color_theme = 2;
AccessTokensSetting access_tokens = 3;
message GeneralSetting {
string locale = 1;
string color_theme = 2;
}
message AccessTokensSetting {
message AccessToken {
// The access token is a JWT token, including expiration time, issuer, etc.
string access_token = 1;
// A description for the access token.
string description = 2;
}
repeated AccessToken access_tokens = 1; // Nested repeated field
}
}
message GetUserSettingRequest {

View File

@ -37,25 +37,16 @@ message WorkspaceProfile {
bool enable_signup = 4;
// The custom style.
string custom_style = 5;
// The url of custom favicon provider.
string favicon_provider = 7;
// The owner name.
// Format: "users/{id}"
string owner = 8;
string owner = 6;
}
message WorkspaceSetting {
string license_key = 1;
// Whether to enable other users to sign up.
bool enable_signup = 2;
// The instance URL.
string instance_url = 3;
// The custom style.
string custom_style = 4;
string custom_style = 1;
// The default visibility of shortcuts and collections.
Visibility default_visibility = 7;
// The url of custom favicon provider.
string favicon_provider = 8;
Visibility default_visibility = 2;
}
message GetWorkspaceProfileRequest {}

View File

@ -98,7 +98,9 @@
- [UpdateUserSettingRequest](#slash-api-v1-UpdateUserSettingRequest)
- [UpdateUserSettingResponse](#slash-api-v1-UpdateUserSettingResponse)
- [UserSetting](#slash-api-v1-UserSetting)
- [UserSettingGeneral](#slash-api-v1-UserSettingGeneral)
- [UserSetting.AccessTokensSetting](#slash-api-v1-UserSetting-AccessTokensSetting)
- [UserSetting.AccessTokensSetting.AccessToken](#slash-api-v1-UserSetting-AccessTokensSetting-AccessToken)
- [UserSetting.GeneralSetting](#slash-api-v1-UserSetting-GeneralSetting)
- [UserSettingService](#slash-api-v1-UserSettingService)
@ -1322,17 +1324,49 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [int32](#int32) | | id is the user id. |
| general | [UserSettingGeneral](#slash-api-v1-UserSettingGeneral) | | |
| user_id | [int32](#int32) | | |
| general | [UserSetting.GeneralSetting](#slash-api-v1-UserSetting-GeneralSetting) | | |
| access_tokens | [UserSetting.AccessTokensSetting](#slash-api-v1-UserSetting-AccessTokensSetting) | | |
<a name="slash-api-v1-UserSettingGeneral"></a>
<a name="slash-api-v1-UserSetting-AccessTokensSetting"></a>
### UserSettingGeneral
### UserSetting.AccessTokensSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_tokens | [UserSetting.AccessTokensSetting.AccessToken](#slash-api-v1-UserSetting-AccessTokensSetting-AccessToken) | repeated | Nested repeated field |
<a name="slash-api-v1-UserSetting-AccessTokensSetting-AccessToken"></a>
### UserSetting.AccessTokensSetting.AccessToken
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_token | [string](#string) | | The access token is a JWT token, including expiration time, issuer, etc. |
| description | [string](#string) | | A description for the access token. |
<a name="slash-api-v1-UserSetting-GeneralSetting"></a>
### UserSetting.GeneralSetting
@ -1467,7 +1501,6 @@
| plan | [PlanType](#slash-api-v1-PlanType) | | The workspace plan. |
| enable_signup | [bool](#bool) | | Whether to enable other users to sign up. |
| custom_style | [string](#string) | | The custom style. |
| favicon_provider | [string](#string) | | The url of custom favicon provider. |
| owner | [string](#string) | | The owner name. Format: &#34;users/{id}&#34; |
@ -1483,12 +1516,8 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| license_key | [string](#string) | | |
| enable_signup | [bool](#bool) | | Whether to enable other users to sign up. |
| instance_url | [string](#string) | | The instance URL. |
| custom_style | [string](#string) | | The custom style. |
| default_visibility | [Visibility](#slash-api-v1-Visibility) | | The default visibility of shortcuts and collections. |
| favicon_provider | [string](#string) | | The url of custom favicon provider. |

View File

@ -27,9 +27,9 @@ type UserSetting struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// id is the user id.
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
General *UserSettingGeneral `protobuf:"bytes,2,opt,name=general,proto3" json:"general,omitempty"`
UserId int32 `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
General *UserSetting_GeneralSetting `protobuf:"bytes,2,opt,name=general,proto3" json:"general,omitempty"`
AccessTokens *UserSetting_AccessTokensSetting `protobuf:"bytes,3,opt,name=access_tokens,json=accessTokens,proto3" json:"access_tokens,omitempty"`
}
func (x *UserSetting) Reset() {
@ -64,73 +64,25 @@ func (*UserSetting) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{0}
}
func (x *UserSetting) GetId() int32 {
func (x *UserSetting) GetUserId() int32 {
if x != nil {
return x.Id
return x.UserId
}
return 0
}
func (x *UserSetting) GetGeneral() *UserSettingGeneral {
func (x *UserSetting) GetGeneral() *UserSetting_GeneralSetting {
if x != nil {
return x.General
}
return nil
}
type UserSettingGeneral struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
ColorTheme string `protobuf:"bytes,2,opt,name=color_theme,json=colorTheme,proto3" json:"color_theme,omitempty"`
}
func (x *UserSettingGeneral) Reset() {
*x = UserSettingGeneral{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSettingGeneral) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSettingGeneral) ProtoMessage() {}
func (x *UserSettingGeneral) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserSettingGeneral.ProtoReflect.Descriptor instead.
func (*UserSettingGeneral) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{1}
}
func (x *UserSettingGeneral) GetLocale() string {
func (x *UserSetting) GetAccessTokens() *UserSetting_AccessTokensSetting {
if x != nil {
return x.Locale
return x.AccessTokens
}
return ""
}
func (x *UserSettingGeneral) GetColorTheme() string {
if x != nil {
return x.ColorTheme
}
return ""
return nil
}
type GetUserSettingRequest struct {
@ -145,7 +97,7 @@ type GetUserSettingRequest struct {
func (x *GetUserSettingRequest) Reset() {
*x = GetUserSettingRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[2]
mi := &file_api_v1_user_setting_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -158,7 +110,7 @@ func (x *GetUserSettingRequest) String() string {
func (*GetUserSettingRequest) ProtoMessage() {}
func (x *GetUserSettingRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[2]
mi := &file_api_v1_user_setting_service_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -171,7 +123,7 @@ func (x *GetUserSettingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetUserSettingRequest.ProtoReflect.Descriptor instead.
func (*GetUserSettingRequest) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{2}
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{1}
}
func (x *GetUserSettingRequest) GetId() int32 {
@ -192,7 +144,7 @@ type GetUserSettingResponse struct {
func (x *GetUserSettingResponse) Reset() {
*x = GetUserSettingResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[3]
mi := &file_api_v1_user_setting_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -205,7 +157,7 @@ func (x *GetUserSettingResponse) String() string {
func (*GetUserSettingResponse) ProtoMessage() {}
func (x *GetUserSettingResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[3]
mi := &file_api_v1_user_setting_service_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -218,7 +170,7 @@ func (x *GetUserSettingResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetUserSettingResponse.ProtoReflect.Descriptor instead.
func (*GetUserSettingResponse) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{3}
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{2}
}
func (x *GetUserSettingResponse) GetUserSetting() *UserSetting {
@ -244,7 +196,7 @@ type UpdateUserSettingRequest struct {
func (x *UpdateUserSettingRequest) Reset() {
*x = UpdateUserSettingRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[4]
mi := &file_api_v1_user_setting_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -257,7 +209,7 @@ func (x *UpdateUserSettingRequest) String() string {
func (*UpdateUserSettingRequest) ProtoMessage() {}
func (x *UpdateUserSettingRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[4]
mi := &file_api_v1_user_setting_service_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -270,7 +222,7 @@ func (x *UpdateUserSettingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateUserSettingRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserSettingRequest) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{4}
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateUserSettingRequest) GetId() int32 {
@ -305,7 +257,7 @@ type UpdateUserSettingResponse struct {
func (x *UpdateUserSettingResponse) Reset() {
*x = UpdateUserSettingResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[5]
mi := &file_api_v1_user_setting_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -318,7 +270,7 @@ func (x *UpdateUserSettingResponse) String() string {
func (*UpdateUserSettingResponse) ProtoMessage() {}
func (x *UpdateUserSettingResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[5]
mi := &file_api_v1_user_setting_service_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -331,7 +283,7 @@ func (x *UpdateUserSettingResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateUserSettingResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserSettingResponse) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{5}
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateUserSettingResponse) GetUserSetting() *UserSetting {
@ -341,6 +293,165 @@ func (x *UpdateUserSettingResponse) GetUserSetting() *UserSetting {
return nil
}
type UserSetting_GeneralSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
ColorTheme string `protobuf:"bytes,2,opt,name=color_theme,json=colorTheme,proto3" json:"color_theme,omitempty"`
}
func (x *UserSetting_GeneralSetting) Reset() {
*x = UserSetting_GeneralSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSetting_GeneralSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSetting_GeneralSetting) ProtoMessage() {}
func (x *UserSetting_GeneralSetting) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserSetting_GeneralSetting.ProtoReflect.Descriptor instead.
func (*UserSetting_GeneralSetting) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{0, 0}
}
func (x *UserSetting_GeneralSetting) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
func (x *UserSetting_GeneralSetting) GetColorTheme() string {
if x != nil {
return x.ColorTheme
}
return ""
}
type UserSetting_AccessTokensSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccessTokens []*UserSetting_AccessTokensSetting_AccessToken `protobuf:"bytes,1,rep,name=access_tokens,json=accessTokens,proto3" json:"access_tokens,omitempty"` // Nested repeated field
}
func (x *UserSetting_AccessTokensSetting) Reset() {
*x = UserSetting_AccessTokensSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSetting_AccessTokensSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSetting_AccessTokensSetting) ProtoMessage() {}
func (x *UserSetting_AccessTokensSetting) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserSetting_AccessTokensSetting.ProtoReflect.Descriptor instead.
func (*UserSetting_AccessTokensSetting) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{0, 1}
}
func (x *UserSetting_AccessTokensSetting) GetAccessTokens() []*UserSetting_AccessTokensSetting_AccessToken {
if x != nil {
return x.AccessTokens
}
return nil
}
type UserSetting_AccessTokensSetting_AccessToken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The access token is a JWT token, including expiration time, issuer, etc.
AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
// A description for the access token.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *UserSetting_AccessTokensSetting_AccessToken) Reset() {
*x = UserSetting_AccessTokensSetting_AccessToken{}
if protoimpl.UnsafeEnabled {
mi := &file_api_v1_user_setting_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UserSetting_AccessTokensSetting_AccessToken) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSetting_AccessTokensSetting_AccessToken) ProtoMessage() {}
func (x *UserSetting_AccessTokensSetting_AccessToken) ProtoReflect() protoreflect.Message {
mi := &file_api_v1_user_setting_service_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UserSetting_AccessTokensSetting_AccessToken.ProtoReflect.Descriptor instead.
func (*UserSetting_AccessTokensSetting_AccessToken) Descriptor() ([]byte, []int) {
return file_api_v1_user_setting_service_proto_rawDescGZIP(), []int{0, 1, 0}
}
func (x *UserSetting_AccessTokensSetting_AccessToken) GetAccessToken() string {
if x != nil {
return x.AccessToken
}
return ""
}
func (x *UserSetting_AccessTokensSetting_AccessToken) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
var File_api_v1_user_setting_service_proto protoreflect.FileDescriptor
var file_api_v1_user_setting_service_proto_rawDesc = []byte{
@ -352,75 +463,94 @@ var file_api_v1_user_setting_service_proto_rawDesc = []byte{
0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x0b, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x67, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x6c, 0x61,
0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x07, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x6c, 0x22, 0x4d, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x68, 0x65,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x54,
0x68, 0x65, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a,
0x16, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02,
0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x59, 0x0a,
0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65,
0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x32, 0xd1, 0x02, 0x0a, 0x12, 0x55, 0x73, 0x65,
0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x85, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x12, 0x23, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xda,
0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e,
0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c,
0xda, 0x41, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2c,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x2b, 0x3a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x32,
0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b,
0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0xb5, 0x01, 0x0a,
0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
0x31, 0x42, 0x17, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69,
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c,
0x66, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61,
0x70, 0x69, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x6c, 0x61,
0x73, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73,
0x68, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x18, 0x53, 0x6c, 0x61, 0x73, 0x68,
0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x69,
0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x03, 0x0a, 0x0b, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73,
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e,
0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07,
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x52, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73,
0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x61,
0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x49, 0x0a, 0x0e, 0x47,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a,
0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74,
0x68, 0x65, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6f,
0x72, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x1a, 0xc9, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5e,
0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52,
0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a,
0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x47,
0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6c,
0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x22, 0xa5, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,
0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x3b,
0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52,
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x59, 0x0a, 0x19, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x32, 0xd1, 0x02, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x85, 0x01,
0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x23, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70,
0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xda, 0x41, 0x02,
0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x2e, 0x73, 0x6c,
0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41,
0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a,
0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x32, 0x1b, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64,
0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0xb5, 0x01, 0x0a, 0x10, 0x63,
0x6f, 0x6d, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x42,
0x17, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68,
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x68,
0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x69,
0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68,
0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c,
0x41, 0x70, 0x69, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x18, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x41,
0x70, 0x69, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x0e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a,
0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -435,31 +565,35 @@ func file_api_v1_user_setting_service_proto_rawDescGZIP() []byte {
return file_api_v1_user_setting_service_proto_rawDescData
}
var file_api_v1_user_setting_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_api_v1_user_setting_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_api_v1_user_setting_service_proto_goTypes = []any{
(*UserSetting)(nil), // 0: slash.api.v1.UserSetting
(*UserSettingGeneral)(nil), // 1: slash.api.v1.UserSettingGeneral
(*GetUserSettingRequest)(nil), // 2: slash.api.v1.GetUserSettingRequest
(*GetUserSettingResponse)(nil), // 3: slash.api.v1.GetUserSettingResponse
(*UpdateUserSettingRequest)(nil), // 4: slash.api.v1.UpdateUserSettingRequest
(*UpdateUserSettingResponse)(nil), // 5: slash.api.v1.UpdateUserSettingResponse
(*fieldmaskpb.FieldMask)(nil), // 6: google.protobuf.FieldMask
(*UserSetting)(nil), // 0: slash.api.v1.UserSetting
(*GetUserSettingRequest)(nil), // 1: slash.api.v1.GetUserSettingRequest
(*GetUserSettingResponse)(nil), // 2: slash.api.v1.GetUserSettingResponse
(*UpdateUserSettingRequest)(nil), // 3: slash.api.v1.UpdateUserSettingRequest
(*UpdateUserSettingResponse)(nil), // 4: slash.api.v1.UpdateUserSettingResponse
(*UserSetting_GeneralSetting)(nil), // 5: slash.api.v1.UserSetting.GeneralSetting
(*UserSetting_AccessTokensSetting)(nil), // 6: slash.api.v1.UserSetting.AccessTokensSetting
(*UserSetting_AccessTokensSetting_AccessToken)(nil), // 7: slash.api.v1.UserSetting.AccessTokensSetting.AccessToken
(*fieldmaskpb.FieldMask)(nil), // 8: google.protobuf.FieldMask
}
var file_api_v1_user_setting_service_proto_depIdxs = []int32{
1, // 0: slash.api.v1.UserSetting.general:type_name -> slash.api.v1.UserSettingGeneral
0, // 1: slash.api.v1.GetUserSettingResponse.user_setting:type_name -> slash.api.v1.UserSetting
0, // 2: slash.api.v1.UpdateUserSettingRequest.user_setting:type_name -> slash.api.v1.UserSetting
6, // 3: slash.api.v1.UpdateUserSettingRequest.update_mask:type_name -> google.protobuf.FieldMask
0, // 4: slash.api.v1.UpdateUserSettingResponse.user_setting:type_name -> slash.api.v1.UserSetting
2, // 5: slash.api.v1.UserSettingService.GetUserSetting:input_type -> slash.api.v1.GetUserSettingRequest
4, // 6: slash.api.v1.UserSettingService.UpdateUserSetting:input_type -> slash.api.v1.UpdateUserSettingRequest
3, // 7: slash.api.v1.UserSettingService.GetUserSetting:output_type -> slash.api.v1.GetUserSettingResponse
5, // 8: slash.api.v1.UserSettingService.UpdateUserSetting:output_type -> slash.api.v1.UpdateUserSettingResponse
7, // [7:9] is the sub-list for method output_type
5, // [5:7] is the sub-list for method input_type
5, // [5:5] is the sub-list for extension type_name
5, // [5:5] is the sub-list for extension extendee
0, // [0:5] is the sub-list for field type_name
5, // 0: slash.api.v1.UserSetting.general:type_name -> slash.api.v1.UserSetting.GeneralSetting
6, // 1: slash.api.v1.UserSetting.access_tokens:type_name -> slash.api.v1.UserSetting.AccessTokensSetting
0, // 2: slash.api.v1.GetUserSettingResponse.user_setting:type_name -> slash.api.v1.UserSetting
0, // 3: slash.api.v1.UpdateUserSettingRequest.user_setting:type_name -> slash.api.v1.UserSetting
8, // 4: slash.api.v1.UpdateUserSettingRequest.update_mask:type_name -> google.protobuf.FieldMask
0, // 5: slash.api.v1.UpdateUserSettingResponse.user_setting:type_name -> slash.api.v1.UserSetting
7, // 6: slash.api.v1.UserSetting.AccessTokensSetting.access_tokens:type_name -> slash.api.v1.UserSetting.AccessTokensSetting.AccessToken
1, // 7: slash.api.v1.UserSettingService.GetUserSetting:input_type -> slash.api.v1.GetUserSettingRequest
3, // 8: slash.api.v1.UserSettingService.UpdateUserSetting:input_type -> slash.api.v1.UpdateUserSettingRequest
2, // 9: slash.api.v1.UserSettingService.GetUserSetting:output_type -> slash.api.v1.GetUserSettingResponse
4, // 10: slash.api.v1.UserSettingService.UpdateUserSetting:output_type -> slash.api.v1.UpdateUserSettingResponse
9, // [9:11] is the sub-list for method output_type
7, // [7:9] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_api_v1_user_setting_service_proto_init() }
@ -481,18 +615,6 @@ func file_api_v1_user_setting_service_proto_init() {
}
}
file_api_v1_user_setting_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*UserSettingGeneral); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*GetUserSettingRequest); i {
case 0:
return &v.state
@ -504,7 +626,7 @@ func file_api_v1_user_setting_service_proto_init() {
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
file_api_v1_user_setting_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*GetUserSettingResponse); i {
case 0:
return &v.state
@ -516,7 +638,7 @@ func file_api_v1_user_setting_service_proto_init() {
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
file_api_v1_user_setting_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*UpdateUserSettingRequest); i {
case 0:
return &v.state
@ -528,7 +650,7 @@ func file_api_v1_user_setting_service_proto_init() {
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
file_api_v1_user_setting_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
switch v := v.(*UpdateUserSettingResponse); i {
case 0:
return &v.state
@ -540,6 +662,42 @@ func file_api_v1_user_setting_service_proto_init() {
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
switch v := v.(*UserSetting_GeneralSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
switch v := v.(*UserSetting_AccessTokensSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_v1_user_setting_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
switch v := v.(*UserSetting_AccessTokensSetting_AccessToken); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -547,7 +705,7 @@ func file_api_v1_user_setting_service_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_v1_user_setting_service_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -37,11 +37,9 @@ type WorkspaceProfile struct {
EnableSignup bool `protobuf:"varint,4,opt,name=enable_signup,json=enableSignup,proto3" json:"enable_signup,omitempty"`
// The custom style.
CustomStyle string `protobuf:"bytes,5,opt,name=custom_style,json=customStyle,proto3" json:"custom_style,omitempty"`
// The url of custom favicon provider.
FaviconProvider string `protobuf:"bytes,7,opt,name=favicon_provider,json=faviconProvider,proto3" json:"favicon_provider,omitempty"`
// The owner name.
// Format: "users/{id}"
Owner string `protobuf:"bytes,8,opt,name=owner,proto3" json:"owner,omitempty"`
Owner string `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"`
}
func (x *WorkspaceProfile) Reset() {
@ -111,13 +109,6 @@ func (x *WorkspaceProfile) GetCustomStyle() string {
return ""
}
func (x *WorkspaceProfile) GetFaviconProvider() string {
if x != nil {
return x.FaviconProvider
}
return ""
}
func (x *WorkspaceProfile) GetOwner() string {
if x != nil {
return x.Owner
@ -130,17 +121,10 @@ type WorkspaceSetting struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LicenseKey string `protobuf:"bytes,1,opt,name=license_key,json=licenseKey,proto3" json:"license_key,omitempty"`
// Whether to enable other users to sign up.
EnableSignup bool `protobuf:"varint,2,opt,name=enable_signup,json=enableSignup,proto3" json:"enable_signup,omitempty"`
// The instance URL.
InstanceUrl string `protobuf:"bytes,3,opt,name=instance_url,json=instanceUrl,proto3" json:"instance_url,omitempty"`
// The custom style.
CustomStyle string `protobuf:"bytes,4,opt,name=custom_style,json=customStyle,proto3" json:"custom_style,omitempty"`
CustomStyle string `protobuf:"bytes,1,opt,name=custom_style,json=customStyle,proto3" json:"custom_style,omitempty"`
// The default visibility of shortcuts and collections.
DefaultVisibility Visibility `protobuf:"varint,7,opt,name=default_visibility,json=defaultVisibility,proto3,enum=slash.api.v1.Visibility" json:"default_visibility,omitempty"`
// The url of custom favicon provider.
FaviconProvider string `protobuf:"bytes,8,opt,name=favicon_provider,json=faviconProvider,proto3" json:"favicon_provider,omitempty"`
DefaultVisibility Visibility `protobuf:"varint,2,opt,name=default_visibility,json=defaultVisibility,proto3,enum=slash.api.v1.Visibility" json:"default_visibility,omitempty"`
}
func (x *WorkspaceSetting) Reset() {
@ -175,27 +159,6 @@ func (*WorkspaceSetting) Descriptor() ([]byte, []int) {
return file_api_v1_workspace_service_proto_rawDescGZIP(), []int{1}
}
func (x *WorkspaceSetting) GetLicenseKey() string {
if x != nil {
return x.LicenseKey
}
return ""
}
func (x *WorkspaceSetting) GetEnableSignup() bool {
if x != nil {
return x.EnableSignup
}
return false
}
func (x *WorkspaceSetting) GetInstanceUrl() string {
if x != nil {
return x.InstanceUrl
}
return ""
}
func (x *WorkspaceSetting) GetCustomStyle() string {
if x != nil {
return x.CustomStyle
@ -210,13 +173,6 @@ func (x *WorkspaceSetting) GetDefaultVisibility() Visibility {
return Visibility_VISIBILITY_UNSPECIFIED
}
func (x *WorkspaceSetting) GetFaviconProvider() string {
if x != nil {
return x.FaviconProvider
}
return ""
}
type GetWorkspaceProfileRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -509,7 +465,7 @@ var file_api_v1_workspace_service_proto_rawDesc = []byte{
0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xf5, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f,
0xca, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f,
0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
@ -520,28 +476,16 @@ var file_api_v1_workspace_service_proto_rawDesc = []byte{
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x67,
0x6e, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x74,
0x79, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f,
0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f,
0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0f, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x92, 0x02, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b,
0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b,
0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a,
0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e,
0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75,
0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73,
0x74, 0x6f, 0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6c, 0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x07,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69,
0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x11,
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,
0x79, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x61, 0x76,
0x69, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x1c, 0x0a, 0x1a,
0x6d, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x7e, 0x0a, 0x10,
0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x74,
0x79, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76,
0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x18, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56,
0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75,
0x6c, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x1c, 0x0a, 0x1a,
0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66,
0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x57, 0x0a, 0x1b, 0x47, 0x65,
0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,

View File

@ -807,13 +807,32 @@ definitions:
apiv1UserSetting:
type: object
properties:
id:
userId:
type: integer
format: int32
description: id is the user id.
general:
$ref: '#/definitions/apiv1UserSettingGeneral'
apiv1UserSettingGeneral:
$ref: '#/definitions/apiv1UserSettingGeneralSetting'
accessTokens:
$ref: '#/definitions/apiv1UserSettingAccessTokensSetting'
apiv1UserSettingAccessTokensSetting:
type: object
properties:
accessTokens:
type: array
items:
type: object
$ref: '#/definitions/apiv1UserSettingAccessTokensSettingAccessToken'
title: Nested repeated field
apiv1UserSettingAccessTokensSettingAccessToken:
type: object
properties:
accessToken:
type: string
description: The access token is a JWT token, including expiration time, issuer, etc.
description:
type: string
description: A description for the access token.
apiv1UserSettingGeneralSetting:
type: object
properties:
locale:
@ -831,23 +850,12 @@ definitions:
apiv1WorkspaceSetting:
type: object
properties:
licenseKey:
type: string
enableSignup:
type: boolean
description: Whether to enable other users to sign up.
instanceUrl:
type: string
description: The instance URL.
customStyle:
type: string
description: The custom style.
defaultVisibility:
$ref: '#/definitions/apiv1Visibility'
description: The default visibility of shortcuts and collections.
faviconProvider:
type: string
description: The url of custom favicon provider.
protobufAny:
type: object
properties:
@ -1128,9 +1136,6 @@ definitions:
customStyle:
type: string
description: The custom style.
faviconProvider:
type: string
description: The url of custom favicon provider.
owner:
type: string
title: |-

View File

@ -20,14 +20,16 @@
- [store/user_setting.proto](#store_user_setting-proto)
- [UserSetting](#slash-store-UserSetting)
- [UserSettingAccessTokens](#slash-store-UserSettingAccessTokens)
- [UserSettingAccessTokens.AccessToken](#slash-store-UserSettingAccessTokens-AccessToken)
- [UserSettingGeneral](#slash-store-UserSettingGeneral)
- [UserSetting.AccessTokensSetting](#slash-store-UserSetting-AccessTokensSetting)
- [UserSetting.AccessTokensSetting.AccessToken](#slash-store-UserSetting-AccessTokensSetting-AccessToken)
- [UserSetting.GeneralSetting](#slash-store-UserSetting-GeneralSetting)
- [UserSettingKey](#slash-store-UserSettingKey)
- [store/workspace_setting.proto](#store_workspace_setting-proto)
- [WorkspaceSetting](#slash-store-WorkspaceSetting)
- [WorkspaceSetting.GeneralSetting](#slash-store-WorkspaceSetting-GeneralSetting)
- [WorkspaceSetting.ShortcutRelatedSetting](#slash-store-WorkspaceSetting-ShortcutRelatedSetting)
- [WorkspaceSettingKey](#slash-store-WorkspaceSettingKey)
@ -242,38 +244,38 @@
| ----- | ---- | ----- | ----------- |
| user_id | [int32](#int32) | | |
| key | [UserSettingKey](#slash-store-UserSettingKey) | | |
| general | [UserSettingGeneral](#slash-store-UserSettingGeneral) | | |
| access_tokens | [UserSettingAccessTokens](#slash-store-UserSettingAccessTokens) | | |
| general | [UserSetting.GeneralSetting](#slash-store-UserSetting-GeneralSetting) | | |
| access_tokens | [UserSetting.AccessTokensSetting](#slash-store-UserSetting-AccessTokensSetting) | | |
<a name="slash-store-UserSettingAccessTokens"></a>
<a name="slash-store-UserSetting-AccessTokensSetting"></a>
### UserSettingAccessTokens
### UserSetting.AccessTokensSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_tokens | [UserSettingAccessTokens.AccessToken](#slash-store-UserSettingAccessTokens-AccessToken) | repeated | |
| access_tokens | [UserSetting.AccessTokensSetting.AccessToken](#slash-store-UserSetting-AccessTokensSetting-AccessToken) | repeated | Nested repeated field |
<a name="slash-store-UserSettingAccessTokens-AccessToken"></a>
<a name="slash-store-UserSetting-AccessTokensSetting-AccessToken"></a>
### UserSettingAccessTokens.AccessToken
### UserSetting.AccessTokensSetting.AccessToken
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| access_token | [string](#string) | | The access token is a JWT token. Including expiration time, issuer, etc. |
| access_token | [string](#string) | | The access token is a JWT token, including expiration time, issuer, etc. |
| description | [string](#string) | | A description for the access token. |
@ -281,9 +283,9 @@
<a name="slash-store-UserSettingGeneral"></a>
<a name="slash-store-UserSetting-GeneralSetting"></a>
### UserSettingGeneral
### UserSetting.GeneralSetting
@ -307,8 +309,8 @@
| Name | Number | Description |
| ---- | ------ | ----------- |
| USER_SETTING_KEY_UNSPECIFIED | 0 | |
| GENERAL | 1 | General settings for the user. |
| ACCESS_TOKENS | 2 | Access tokens for the user. |
| USER_SETTING_GENERAL | 1 | User general settings. |
| USER_SETTING_ACCESS_TOKENS | 2 | User access tokens. |
@ -335,13 +337,41 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| key | [WorkspaceSettingKey](#slash-store-WorkspaceSettingKey) | | |
| license_key | [string](#string) | | The license key of workspace. |
| secret_session | [string](#string) | | The secret session key used to encrypt session data. |
| enable_signup | [bool](#bool) | | Whether to enable other users to sign up. |
| custom_style | [string](#string) | | The custom style. |
| instance_url | [string](#string) | | The instance URL of workspace. |
| default_visibility | [Visibility](#slash-store-Visibility) | | The default visibility of shortcuts and collections. |
| favicon_provider | [string](#string) | | The url of custom favicon provider. e.g. https://github.com/yourselfhosted/favicons |
| raw | [string](#string) | | |
| general | [WorkspaceSetting.GeneralSetting](#slash-store-WorkspaceSetting-GeneralSetting) | | |
| shortcut_related | [WorkspaceSetting.ShortcutRelatedSetting](#slash-store-WorkspaceSetting-ShortcutRelatedSetting) | | |
<a name="slash-store-WorkspaceSetting-GeneralSetting"></a>
### WorkspaceSetting.GeneralSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| secret_session | [string](#string) | | |
| license_key | [string](#string) | | |
| custom_style | [string](#string) | | |
<a name="slash-store-WorkspaceSetting-ShortcutRelatedSetting"></a>
### WorkspaceSetting.ShortcutRelatedSetting
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| default_visibility | [Visibility](#slash-store-Visibility) | | |
@ -358,13 +388,12 @@
| Name | Number | Description |
| ---- | ------ | ----------- |
| WORKSPACE_SETTING_KEY_UNSPECIFIED | 0 | |
| WORKSPACE_SETTING_LICENSE_KEY | 1 | The license key. |
| WORKSPACE_SETTING_SECRET_SESSION | 2 | The secret session key used to encrypt session data. |
| WORKSAPCE_SETTING_ENABLE_SIGNUP | 3 | Whether to enable other users to sign up. |
| WORKSPACE_SETTING_CUSTOM_STYLE | 4 | The custom style. |
| WORKSPACE_SETTING_INSTANCE_URL | 7 | The instance URL. |
| WORKSPACE_SETTING_DEFAULT_VISIBILITY | 8 | The default visibility of shortcuts and collections. |
| WORKSPACE_SETTING_FAVICON_PROVIDER | 9 | The url of custom favicon provider. |
| WORKSPACE_SETTING_GENERAL | 1 | Workspace general settings. |
| WORKSPACE_SETTING_SHORTCUT_RELATED | 2 | Workspace shortcut-related settings. |
| WORKSPACE_SETTING_LICENSE_KEY | 3 | TODO: remove the following keys. The license key. |
| WORKSPACE_SETTING_SECRET_SESSION | 4 | The secret session key used to encrypt session data. |
| WORKSPACE_SETTING_CUSTOM_STYLE | 5 | The custom style. |
| WORKSPACE_SETTING_DEFAULT_VISIBILITY | 6 | The default visibility of shortcuts and collections. |

View File

@ -24,23 +24,23 @@ type UserSettingKey int32
const (
UserSettingKey_USER_SETTING_KEY_UNSPECIFIED UserSettingKey = 0
// General settings for the user.
UserSettingKey_GENERAL UserSettingKey = 1
// Access tokens for the user.
UserSettingKey_ACCESS_TOKENS UserSettingKey = 2
// User general settings.
UserSettingKey_USER_SETTING_GENERAL UserSettingKey = 1
// User access tokens.
UserSettingKey_USER_SETTING_ACCESS_TOKENS UserSettingKey = 2
)
// Enum value maps for UserSettingKey.
var (
UserSettingKey_name = map[int32]string{
0: "USER_SETTING_KEY_UNSPECIFIED",
1: "GENERAL",
2: "ACCESS_TOKENS",
1: "USER_SETTING_GENERAL",
2: "USER_SETTING_ACCESS_TOKENS",
}
UserSettingKey_value = map[string]int32{
"USER_SETTING_KEY_UNSPECIFIED": 0,
"GENERAL": 1,
"ACCESS_TOKENS": 2,
"USER_SETTING_GENERAL": 1,
"USER_SETTING_ACCESS_TOKENS": 2,
}
)
@ -138,14 +138,14 @@ func (m *UserSetting) GetValue() isUserSetting_Value {
return nil
}
func (x *UserSetting) GetGeneral() *UserSettingGeneral {
func (x *UserSetting) GetGeneral() *UserSetting_GeneralSetting {
if x, ok := x.GetValue().(*UserSetting_General); ok {
return x.General
}
return nil
}
func (x *UserSetting) GetAccessTokens() *UserSettingAccessTokens {
func (x *UserSetting) GetAccessTokens() *UserSetting_AccessTokensSetting {
if x, ok := x.GetValue().(*UserSetting_AccessTokens); ok {
return x.AccessTokens
}
@ -157,18 +157,18 @@ type isUserSetting_Value interface {
}
type UserSetting_General struct {
General *UserSettingGeneral `protobuf:"bytes,3,opt,name=general,proto3,oneof"`
General *UserSetting_GeneralSetting `protobuf:"bytes,3,opt,name=general,proto3,oneof"`
}
type UserSetting_AccessTokens struct {
AccessTokens *UserSettingAccessTokens `protobuf:"bytes,4,opt,name=access_tokens,json=accessTokens,proto3,oneof"`
AccessTokens *UserSetting_AccessTokensSetting `protobuf:"bytes,4,opt,name=access_tokens,json=accessTokens,proto3,oneof"`
}
func (*UserSetting_General) isUserSetting_Value() {}
func (*UserSetting_AccessTokens) isUserSetting_Value() {}
type UserSettingGeneral struct {
type UserSetting_GeneralSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
@ -177,8 +177,8 @@ type UserSettingGeneral struct {
ColorTheme string `protobuf:"bytes,2,opt,name=color_theme,json=colorTheme,proto3" json:"color_theme,omitempty"`
}
func (x *UserSettingGeneral) Reset() {
*x = UserSettingGeneral{}
func (x *UserSetting_GeneralSetting) Reset() {
*x = UserSetting_GeneralSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_store_user_setting_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -186,13 +186,13 @@ func (x *UserSettingGeneral) Reset() {
}
}
func (x *UserSettingGeneral) String() string {
func (x *UserSetting_GeneralSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSettingGeneral) ProtoMessage() {}
func (*UserSetting_GeneralSetting) ProtoMessage() {}
func (x *UserSettingGeneral) ProtoReflect() protoreflect.Message {
func (x *UserSetting_GeneralSetting) ProtoReflect() protoreflect.Message {
mi := &file_store_user_setting_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -204,35 +204,35 @@ func (x *UserSettingGeneral) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use UserSettingGeneral.ProtoReflect.Descriptor instead.
func (*UserSettingGeneral) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{1}
// Deprecated: Use UserSetting_GeneralSetting.ProtoReflect.Descriptor instead.
func (*UserSetting_GeneralSetting) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{0, 0}
}
func (x *UserSettingGeneral) GetLocale() string {
func (x *UserSetting_GeneralSetting) GetLocale() string {
if x != nil {
return x.Locale
}
return ""
}
func (x *UserSettingGeneral) GetColorTheme() string {
func (x *UserSetting_GeneralSetting) GetColorTheme() string {
if x != nil {
return x.ColorTheme
}
return ""
}
type UserSettingAccessTokens struct {
type UserSetting_AccessTokensSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccessTokens []*UserSettingAccessTokens_AccessToken `protobuf:"bytes,1,rep,name=access_tokens,json=accessTokens,proto3" json:"access_tokens,omitempty"`
AccessTokens []*UserSetting_AccessTokensSetting_AccessToken `protobuf:"bytes,1,rep,name=access_tokens,json=accessTokens,proto3" json:"access_tokens,omitempty"` // Nested repeated field
}
func (x *UserSettingAccessTokens) Reset() {
*x = UserSettingAccessTokens{}
func (x *UserSetting_AccessTokensSetting) Reset() {
*x = UserSetting_AccessTokensSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_store_user_setting_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -240,13 +240,13 @@ func (x *UserSettingAccessTokens) Reset() {
}
}
func (x *UserSettingAccessTokens) String() string {
func (x *UserSetting_AccessTokensSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSettingAccessTokens) ProtoMessage() {}
func (*UserSetting_AccessTokensSetting) ProtoMessage() {}
func (x *UserSettingAccessTokens) ProtoReflect() protoreflect.Message {
func (x *UserSetting_AccessTokensSetting) ProtoReflect() protoreflect.Message {
mi := &file_store_user_setting_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -258,32 +258,31 @@ func (x *UserSettingAccessTokens) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use UserSettingAccessTokens.ProtoReflect.Descriptor instead.
func (*UserSettingAccessTokens) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{2}
// Deprecated: Use UserSetting_AccessTokensSetting.ProtoReflect.Descriptor instead.
func (*UserSetting_AccessTokensSetting) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{0, 1}
}
func (x *UserSettingAccessTokens) GetAccessTokens() []*UserSettingAccessTokens_AccessToken {
func (x *UserSetting_AccessTokensSetting) GetAccessTokens() []*UserSetting_AccessTokensSetting_AccessToken {
if x != nil {
return x.AccessTokens
}
return nil
}
type UserSettingAccessTokens_AccessToken struct {
type UserSetting_AccessTokensSetting_AccessToken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The access token is a JWT token.
// Including expiration time, issuer, etc.
// The access token is a JWT token, including expiration time, issuer, etc.
AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
// A description for the access token.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
func (x *UserSettingAccessTokens_AccessToken) Reset() {
*x = UserSettingAccessTokens_AccessToken{}
func (x *UserSetting_AccessTokensSetting_AccessToken) Reset() {
*x = UserSetting_AccessTokensSetting_AccessToken{}
if protoimpl.UnsafeEnabled {
mi := &file_store_user_setting_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -291,13 +290,13 @@ func (x *UserSettingAccessTokens_AccessToken) Reset() {
}
}
func (x *UserSettingAccessTokens_AccessToken) String() string {
func (x *UserSetting_AccessTokensSetting_AccessToken) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UserSettingAccessTokens_AccessToken) ProtoMessage() {}
func (*UserSetting_AccessTokensSetting_AccessToken) ProtoMessage() {}
func (x *UserSettingAccessTokens_AccessToken) ProtoReflect() protoreflect.Message {
func (x *UserSetting_AccessTokensSetting_AccessToken) ProtoReflect() protoreflect.Message {
mi := &file_store_user_setting_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -309,19 +308,19 @@ func (x *UserSettingAccessTokens_AccessToken) ProtoReflect() protoreflect.Messag
return mi.MessageOf(x)
}
// Deprecated: Use UserSettingAccessTokens_AccessToken.ProtoReflect.Descriptor instead.
func (*UserSettingAccessTokens_AccessToken) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{2, 0}
// Deprecated: Use UserSetting_AccessTokensSetting_AccessToken.ProtoReflect.Descriptor instead.
func (*UserSetting_AccessTokensSetting_AccessToken) Descriptor() ([]byte, []int) {
return file_store_user_setting_proto_rawDescGZIP(), []int{0, 1, 0}
}
func (x *UserSettingAccessTokens_AccessToken) GetAccessToken() string {
func (x *UserSetting_AccessTokensSetting_AccessToken) GetAccessToken() string {
if x != nil {
return x.AccessToken
}
return ""
}
func (x *UserSettingAccessTokens_AccessToken) GetDescription() string {
func (x *UserSetting_AccessTokensSetting_AccessToken) GetDescription() string {
if x != nil {
return x.Description
}
@ -333,55 +332,58 @@ var File_store_user_setting_proto protoreflect.FileDescriptor
var file_store_user_setting_proto_rawDesc = []byte{
0x0a, 0x18, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74,
0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x73, 0x6c, 0x61, 0x73,
0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72,
0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x8e, 0x04, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x12, 0x2d, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x3b, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1f, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
0x6c, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0d,
0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72,
0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63,
0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x63,
0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x22, 0x4d, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61,
0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65,
0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x68, 0x65, 0x6d,
0x65, 0x22, 0xc4, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x55, 0x0a,
0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f,
0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x63,
0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73,
0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73,
0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x52, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72,
0x43, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x6c,
0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x63, 0x63,
0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6c,
0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x68, 0x65,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x54,
0x68, 0x65, 0x6d, 0x65, 0x1a, 0xc8, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5d, 0x0a, 0x0d,
0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72,
0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63,
0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0c, 0x61,
0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x52, 0x0a, 0x0b, 0x41,
0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63,
0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42,
0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x6c, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x53,
0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55,
0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x43, 0x43,
0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x42, 0xa1, 0x01, 0x0a,
0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65,
0x42, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x79, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f,
0x73, 0x6c, 0x61, 0x73, 0x68, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f,
0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0b, 0x53, 0x6c,
0x61, 0x73, 0x68, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0xca, 0x02, 0x0b, 0x53, 0x6c, 0x61, 0x73,
0x68, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0xe2, 0x02, 0x17, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c,
0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0xea, 0x02, 0x0c, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x65,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14,
0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x45, 0x4e,
0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53,
0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f,
0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x42, 0xa1, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x73,
0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x10, 0x55, 0x73, 0x65, 0x72,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f,
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x6f, 0x75, 0x72, 0x73,
0x65, 0x6c, 0x66, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2,
0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0b, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x53, 0x74,
0x6f, 0x72, 0x65, 0xca, 0x02, 0x0b, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x53, 0x74, 0x6f, 0x72,
0x65, 0xe2, 0x02, 0x17, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c,
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x53, 0x6c,
0x61, 0x73, 0x68, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
}
var (
@ -399,17 +401,17 @@ func file_store_user_setting_proto_rawDescGZIP() []byte {
var file_store_user_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_store_user_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_store_user_setting_proto_goTypes = []any{
(UserSettingKey)(0), // 0: slash.store.UserSettingKey
(*UserSetting)(nil), // 1: slash.store.UserSetting
(*UserSettingGeneral)(nil), // 2: slash.store.UserSettingGeneral
(*UserSettingAccessTokens)(nil), // 3: slash.store.UserSettingAccessTokens
(*UserSettingAccessTokens_AccessToken)(nil), // 4: slash.store.UserSettingAccessTokens.AccessToken
(UserSettingKey)(0), // 0: slash.store.UserSettingKey
(*UserSetting)(nil), // 1: slash.store.UserSetting
(*UserSetting_GeneralSetting)(nil), // 2: slash.store.UserSetting.GeneralSetting
(*UserSetting_AccessTokensSetting)(nil), // 3: slash.store.UserSetting.AccessTokensSetting
(*UserSetting_AccessTokensSetting_AccessToken)(nil), // 4: slash.store.UserSetting.AccessTokensSetting.AccessToken
}
var file_store_user_setting_proto_depIdxs = []int32{
0, // 0: slash.store.UserSetting.key:type_name -> slash.store.UserSettingKey
2, // 1: slash.store.UserSetting.general:type_name -> slash.store.UserSettingGeneral
3, // 2: slash.store.UserSetting.access_tokens:type_name -> slash.store.UserSettingAccessTokens
4, // 3: slash.store.UserSettingAccessTokens.access_tokens:type_name -> slash.store.UserSettingAccessTokens.AccessToken
2, // 1: slash.store.UserSetting.general:type_name -> slash.store.UserSetting.GeneralSetting
3, // 2: slash.store.UserSetting.access_tokens:type_name -> slash.store.UserSetting.AccessTokensSetting
4, // 3: slash.store.UserSetting.AccessTokensSetting.access_tokens:type_name -> slash.store.UserSetting.AccessTokensSetting.AccessToken
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
@ -436,7 +438,7 @@ func file_store_user_setting_proto_init() {
}
}
file_store_user_setting_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*UserSettingGeneral); i {
switch v := v.(*UserSetting_GeneralSetting); i {
case 0:
return &v.state
case 1:
@ -448,7 +450,7 @@ func file_store_user_setting_proto_init() {
}
}
file_store_user_setting_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*UserSettingAccessTokens); i {
switch v := v.(*UserSetting_AccessTokensSetting); i {
case 0:
return &v.state
case 1:
@ -460,7 +462,7 @@ func file_store_user_setting_proto_init() {
}
}
file_store_user_setting_proto_msgTypes[3].Exporter = func(v any, i int) any {
switch v := v.(*UserSettingAccessTokens_AccessToken); i {
switch v := v.(*UserSetting_AccessTokensSetting_AccessToken); i {
case 0:
return &v.state
case 1:

View File

@ -24,43 +24,40 @@ type WorkspaceSettingKey int32
const (
WorkspaceSettingKey_WORKSPACE_SETTING_KEY_UNSPECIFIED WorkspaceSettingKey = 0
// Workspace general settings.
WorkspaceSettingKey_WORKSPACE_SETTING_GENERAL WorkspaceSettingKey = 1
// Workspace shortcut-related settings.
WorkspaceSettingKey_WORKSPACE_SETTING_SHORTCUT_RELATED WorkspaceSettingKey = 2
// TODO: remove the following keys.
// The license key.
WorkspaceSettingKey_WORKSPACE_SETTING_LICENSE_KEY WorkspaceSettingKey = 1
WorkspaceSettingKey_WORKSPACE_SETTING_LICENSE_KEY WorkspaceSettingKey = 3
// The secret session key used to encrypt session data.
WorkspaceSettingKey_WORKSPACE_SETTING_SECRET_SESSION WorkspaceSettingKey = 2
// Whether to enable other users to sign up.
WorkspaceSettingKey_WORKSAPCE_SETTING_ENABLE_SIGNUP WorkspaceSettingKey = 3
WorkspaceSettingKey_WORKSPACE_SETTING_SECRET_SESSION WorkspaceSettingKey = 4
// The custom style.
WorkspaceSettingKey_WORKSPACE_SETTING_CUSTOM_STYLE WorkspaceSettingKey = 4
// The instance URL.
WorkspaceSettingKey_WORKSPACE_SETTING_INSTANCE_URL WorkspaceSettingKey = 7
WorkspaceSettingKey_WORKSPACE_SETTING_CUSTOM_STYLE WorkspaceSettingKey = 5
// The default visibility of shortcuts and collections.
WorkspaceSettingKey_WORKSPACE_SETTING_DEFAULT_VISIBILITY WorkspaceSettingKey = 8
// The url of custom favicon provider.
WorkspaceSettingKey_WORKSPACE_SETTING_FAVICON_PROVIDER WorkspaceSettingKey = 9
WorkspaceSettingKey_WORKSPACE_SETTING_DEFAULT_VISIBILITY WorkspaceSettingKey = 6
)
// Enum value maps for WorkspaceSettingKey.
var (
WorkspaceSettingKey_name = map[int32]string{
0: "WORKSPACE_SETTING_KEY_UNSPECIFIED",
1: "WORKSPACE_SETTING_LICENSE_KEY",
2: "WORKSPACE_SETTING_SECRET_SESSION",
3: "WORKSAPCE_SETTING_ENABLE_SIGNUP",
4: "WORKSPACE_SETTING_CUSTOM_STYLE",
7: "WORKSPACE_SETTING_INSTANCE_URL",
8: "WORKSPACE_SETTING_DEFAULT_VISIBILITY",
9: "WORKSPACE_SETTING_FAVICON_PROVIDER",
1: "WORKSPACE_SETTING_GENERAL",
2: "WORKSPACE_SETTING_SHORTCUT_RELATED",
3: "WORKSPACE_SETTING_LICENSE_KEY",
4: "WORKSPACE_SETTING_SECRET_SESSION",
5: "WORKSPACE_SETTING_CUSTOM_STYLE",
6: "WORKSPACE_SETTING_DEFAULT_VISIBILITY",
}
WorkspaceSettingKey_value = map[string]int32{
"WORKSPACE_SETTING_KEY_UNSPECIFIED": 0,
"WORKSPACE_SETTING_LICENSE_KEY": 1,
"WORKSPACE_SETTING_SECRET_SESSION": 2,
"WORKSAPCE_SETTING_ENABLE_SIGNUP": 3,
"WORKSPACE_SETTING_CUSTOM_STYLE": 4,
"WORKSPACE_SETTING_INSTANCE_URL": 7,
"WORKSPACE_SETTING_DEFAULT_VISIBILITY": 8,
"WORKSPACE_SETTING_FAVICON_PROVIDER": 9,
"WORKSPACE_SETTING_GENERAL": 1,
"WORKSPACE_SETTING_SHORTCUT_RELATED": 2,
"WORKSPACE_SETTING_LICENSE_KEY": 3,
"WORKSPACE_SETTING_SECRET_SESSION": 4,
"WORKSPACE_SETTING_CUSTOM_STYLE": 5,
"WORKSPACE_SETTING_DEFAULT_VISIBILITY": 6,
}
)
@ -97,15 +94,11 @@ type WorkspaceSetting struct {
unknownFields protoimpl.UnknownFields
Key WorkspaceSettingKey `protobuf:"varint,1,opt,name=key,proto3,enum=slash.store.WorkspaceSettingKey" json:"key,omitempty"`
Raw string `protobuf:"bytes,4,opt,name=raw,proto3" json:"raw,omitempty"`
// Types that are assignable to Value:
//
// *WorkspaceSetting_LicenseKey
// *WorkspaceSetting_SecretSession
// *WorkspaceSetting_EnableSignup
// *WorkspaceSetting_CustomStyle
// *WorkspaceSetting_InstanceUrl
// *WorkspaceSetting_DefaultVisibility
// *WorkspaceSetting_FaviconProvider
// *WorkspaceSetting_General
// *WorkspaceSetting_ShortcutRelated
Value isWorkspaceSetting_Value `protobuf_oneof:"value"`
}
@ -148,6 +141,13 @@ func (x *WorkspaceSetting) GetKey() WorkspaceSettingKey {
return WorkspaceSettingKey_WORKSPACE_SETTING_KEY_UNSPECIFIED
}
func (x *WorkspaceSetting) GetRaw() string {
if x != nil {
return x.Raw
}
return ""
}
func (m *WorkspaceSetting) GetValue() isWorkspaceSetting_Value {
if m != nil {
return m.Value
@ -155,107 +155,145 @@ func (m *WorkspaceSetting) GetValue() isWorkspaceSetting_Value {
return nil
}
func (x *WorkspaceSetting) GetLicenseKey() string {
if x, ok := x.GetValue().(*WorkspaceSetting_LicenseKey); ok {
return x.LicenseKey
func (x *WorkspaceSetting) GetGeneral() *WorkspaceSetting_GeneralSetting {
if x, ok := x.GetValue().(*WorkspaceSetting_General); ok {
return x.General
}
return ""
return nil
}
func (x *WorkspaceSetting) GetSecretSession() string {
if x, ok := x.GetValue().(*WorkspaceSetting_SecretSession); ok {
return x.SecretSession
func (x *WorkspaceSetting) GetShortcutRelated() *WorkspaceSetting_ShortcutRelatedSetting {
if x, ok := x.GetValue().(*WorkspaceSetting_ShortcutRelated); ok {
return x.ShortcutRelated
}
return ""
}
func (x *WorkspaceSetting) GetEnableSignup() bool {
if x, ok := x.GetValue().(*WorkspaceSetting_EnableSignup); ok {
return x.EnableSignup
}
return false
}
func (x *WorkspaceSetting) GetCustomStyle() string {
if x, ok := x.GetValue().(*WorkspaceSetting_CustomStyle); ok {
return x.CustomStyle
}
return ""
}
func (x *WorkspaceSetting) GetInstanceUrl() string {
if x, ok := x.GetValue().(*WorkspaceSetting_InstanceUrl); ok {
return x.InstanceUrl
}
return ""
}
func (x *WorkspaceSetting) GetDefaultVisibility() Visibility {
if x, ok := x.GetValue().(*WorkspaceSetting_DefaultVisibility); ok {
return x.DefaultVisibility
}
return Visibility_VISIBILITY_UNSPECIFIED
}
func (x *WorkspaceSetting) GetFaviconProvider() string {
if x, ok := x.GetValue().(*WorkspaceSetting_FaviconProvider); ok {
return x.FaviconProvider
}
return ""
return nil
}
type isWorkspaceSetting_Value interface {
isWorkspaceSetting_Value()
}
type WorkspaceSetting_LicenseKey struct {
// The license key of workspace.
LicenseKey string `protobuf:"bytes,2,opt,name=license_key,json=licenseKey,proto3,oneof"`
type WorkspaceSetting_General struct {
General *WorkspaceSetting_GeneralSetting `protobuf:"bytes,2,opt,name=general,proto3,oneof"`
}
type WorkspaceSetting_SecretSession struct {
// The secret session key used to encrypt session data.
SecretSession string `protobuf:"bytes,3,opt,name=secret_session,json=secretSession,proto3,oneof"`
type WorkspaceSetting_ShortcutRelated struct {
ShortcutRelated *WorkspaceSetting_ShortcutRelatedSetting `protobuf:"bytes,3,opt,name=shortcut_related,json=shortcutRelated,proto3,oneof"`
}
type WorkspaceSetting_EnableSignup struct {
// Whether to enable other users to sign up.
EnableSignup bool `protobuf:"varint,4,opt,name=enable_signup,json=enableSignup,proto3,oneof"`
func (*WorkspaceSetting_General) isWorkspaceSetting_Value() {}
func (*WorkspaceSetting_ShortcutRelated) isWorkspaceSetting_Value() {}
type WorkspaceSetting_GeneralSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SecretSession string `protobuf:"bytes,1,opt,name=secret_session,json=secretSession,proto3" json:"secret_session,omitempty"`
LicenseKey string `protobuf:"bytes,2,opt,name=license_key,json=licenseKey,proto3" json:"license_key,omitempty"`
CustomStyle string `protobuf:"bytes,3,opt,name=custom_style,json=customStyle,proto3" json:"custom_style,omitempty"`
}
type WorkspaceSetting_CustomStyle struct {
// The custom style.
CustomStyle string `protobuf:"bytes,5,opt,name=custom_style,json=customStyle,proto3,oneof"`
func (x *WorkspaceSetting_GeneralSetting) Reset() {
*x = WorkspaceSetting_GeneralSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_store_workspace_setting_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
type WorkspaceSetting_InstanceUrl struct {
// The instance URL of workspace.
InstanceUrl string `protobuf:"bytes,8,opt,name=instance_url,json=instanceUrl,proto3,oneof"`
func (x *WorkspaceSetting_GeneralSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
type WorkspaceSetting_DefaultVisibility struct {
// The default visibility of shortcuts and collections.
DefaultVisibility Visibility `protobuf:"varint,9,opt,name=default_visibility,json=defaultVisibility,proto3,enum=slash.store.Visibility,oneof"`
func (*WorkspaceSetting_GeneralSetting) ProtoMessage() {}
func (x *WorkspaceSetting_GeneralSetting) ProtoReflect() protoreflect.Message {
mi := &file_store_workspace_setting_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
type WorkspaceSetting_FaviconProvider struct {
// The url of custom favicon provider. e.g. https://github.com/yourselfhosted/favicons
FaviconProvider string `protobuf:"bytes,10,opt,name=favicon_provider,json=faviconProvider,proto3,oneof"`
// Deprecated: Use WorkspaceSetting_GeneralSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceSetting_GeneralSetting) Descriptor() ([]byte, []int) {
return file_store_workspace_setting_proto_rawDescGZIP(), []int{0, 0}
}
func (*WorkspaceSetting_LicenseKey) isWorkspaceSetting_Value() {}
func (x *WorkspaceSetting_GeneralSetting) GetSecretSession() string {
if x != nil {
return x.SecretSession
}
return ""
}
func (*WorkspaceSetting_SecretSession) isWorkspaceSetting_Value() {}
func (x *WorkspaceSetting_GeneralSetting) GetLicenseKey() string {
if x != nil {
return x.LicenseKey
}
return ""
}
func (*WorkspaceSetting_EnableSignup) isWorkspaceSetting_Value() {}
func (x *WorkspaceSetting_GeneralSetting) GetCustomStyle() string {
if x != nil {
return x.CustomStyle
}
return ""
}
func (*WorkspaceSetting_CustomStyle) isWorkspaceSetting_Value() {}
type WorkspaceSetting_ShortcutRelatedSetting struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
func (*WorkspaceSetting_InstanceUrl) isWorkspaceSetting_Value() {}
DefaultVisibility Visibility `protobuf:"varint,1,opt,name=default_visibility,json=defaultVisibility,proto3,enum=slash.store.Visibility" json:"default_visibility,omitempty"`
}
func (*WorkspaceSetting_DefaultVisibility) isWorkspaceSetting_Value() {}
func (x *WorkspaceSetting_ShortcutRelatedSetting) Reset() {
*x = WorkspaceSetting_ShortcutRelatedSetting{}
if protoimpl.UnsafeEnabled {
mi := &file_store_workspace_setting_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (*WorkspaceSetting_FaviconProvider) isWorkspaceSetting_Value() {}
func (x *WorkspaceSetting_ShortcutRelatedSetting) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WorkspaceSetting_ShortcutRelatedSetting) ProtoMessage() {}
func (x *WorkspaceSetting_ShortcutRelatedSetting) ProtoReflect() protoreflect.Message {
mi := &file_store_workspace_setting_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WorkspaceSetting_ShortcutRelatedSetting.ProtoReflect.Descriptor instead.
func (*WorkspaceSetting_ShortcutRelatedSetting) Descriptor() ([]byte, []int) {
return file_store_workspace_setting_proto_rawDescGZIP(), []int{0, 1}
}
func (x *WorkspaceSetting_ShortcutRelatedSetting) GetDefaultVisibility() Visibility {
if x != nil {
return x.DefaultVisibility
}
return Visibility_VISIBILITY_UNSPECIFIED
}
var File_store_workspace_setting_proto protoreflect.FileDescriptor
@ -264,51 +302,55 @@ var file_store_workspace_setting_proto_rawDesc = []byte{
0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x0b, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x1a, 0x12, 0x73, 0x74,
0x6f, 0x72, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x83, 0x03, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65,
0x22, 0xed, 0x03, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65,
0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
0x67, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0b, 0x6c, 0x69, 0x63,
0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
0x52, 0x0a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x0e,
0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c,
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0c,
0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x74, 0x79, 0x6c,
0x65, 0x12, 0x23, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61,
0x6e, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x48, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65,
0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x11, 0x64,
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
0x12, 0x2b, 0x0a, 0x10, 0x66, 0x61, 0x76, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x66, 0x61,
0x76, 0x69, 0x63, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x07, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0xc4, 0x02, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x25,
0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54,
0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41,
0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e,
0x53, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x57, 0x4f, 0x52, 0x4b,
0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45,
0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x23,
0x0a, 0x1f, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x41, 0x50, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54,
0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x55,
0x50, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45,
0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
0x53, 0x54, 0x59, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x4f, 0x52, 0x4b, 0x53,
0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x53,
0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x07, 0x12, 0x28, 0x0a, 0x24, 0x57,
0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47,
0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c,
0x49, 0x54, 0x59, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41,
0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x56, 0x49, 0x43,
0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x09, 0x42, 0xa6, 0x01,
0x67, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, 0x61, 0x77, 0x12, 0x48, 0x0a, 0x07, 0x67,
0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73,
0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73,
0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x61, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75,
0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x34, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f,
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53,
0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75,
0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x7b, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65,
0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65,
0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x4b,
0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x79,
0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
0x53, 0x74, 0x79, 0x6c, 0x65, 0x1a, 0x60, 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75,
0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
0x46, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62,
0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x6c,
0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69,
0x6c, 0x69, 0x74, 0x79, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x73,
0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x2a, 0x9a, 0x02, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b,
0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x45,
0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
0x1d, 0x0a, 0x19, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54,
0x54, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x26,
0x0a, 0x22, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54,
0x49, 0x4e, 0x47, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x43, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x4c,
0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50,
0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x49, 0x43, 0x45,
0x4e, 0x53, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x57, 0x4f, 0x52,
0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53,
0x45, 0x43, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12,
0x22, 0x0a, 0x1e, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54,
0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x59, 0x4c,
0x45, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45,
0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54,
0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x06, 0x42, 0xa6, 0x01,
0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72,
0x65, 0x42, 0x15, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68,
@ -335,20 +377,24 @@ func file_store_workspace_setting_proto_rawDescGZIP() []byte {
}
var file_store_workspace_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_store_workspace_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_store_workspace_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_store_workspace_setting_proto_goTypes = []any{
(WorkspaceSettingKey)(0), // 0: slash.store.WorkspaceSettingKey
(*WorkspaceSetting)(nil), // 1: slash.store.WorkspaceSetting
(Visibility)(0), // 2: slash.store.Visibility
(WorkspaceSettingKey)(0), // 0: slash.store.WorkspaceSettingKey
(*WorkspaceSetting)(nil), // 1: slash.store.WorkspaceSetting
(*WorkspaceSetting_GeneralSetting)(nil), // 2: slash.store.WorkspaceSetting.GeneralSetting
(*WorkspaceSetting_ShortcutRelatedSetting)(nil), // 3: slash.store.WorkspaceSetting.ShortcutRelatedSetting
(Visibility)(0), // 4: slash.store.Visibility
}
var file_store_workspace_setting_proto_depIdxs = []int32{
0, // 0: slash.store.WorkspaceSetting.key:type_name -> slash.store.WorkspaceSettingKey
2, // 1: slash.store.WorkspaceSetting.default_visibility:type_name -> slash.store.Visibility
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
2, // 1: slash.store.WorkspaceSetting.general:type_name -> slash.store.WorkspaceSetting.GeneralSetting
3, // 2: slash.store.WorkspaceSetting.shortcut_related:type_name -> slash.store.WorkspaceSetting.ShortcutRelatedSetting
4, // 3: slash.store.WorkspaceSetting.ShortcutRelatedSetting.default_visibility:type_name -> slash.store.Visibility
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_store_workspace_setting_proto_init() }
@ -370,15 +416,34 @@ func file_store_workspace_setting_proto_init() {
return nil
}
}
file_store_workspace_setting_proto_msgTypes[1].Exporter = func(v any, i int) any {
switch v := v.(*WorkspaceSetting_GeneralSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_store_workspace_setting_proto_msgTypes[2].Exporter = func(v any, i int) any {
switch v := v.(*WorkspaceSetting_ShortcutRelatedSetting); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_store_workspace_setting_proto_msgTypes[0].OneofWrappers = []any{
(*WorkspaceSetting_LicenseKey)(nil),
(*WorkspaceSetting_SecretSession)(nil),
(*WorkspaceSetting_EnableSignup)(nil),
(*WorkspaceSetting_CustomStyle)(nil),
(*WorkspaceSetting_InstanceUrl)(nil),
(*WorkspaceSetting_DefaultVisibility)(nil),
(*WorkspaceSetting_FaviconProvider)(nil),
(*WorkspaceSetting_General)(nil),
(*WorkspaceSetting_ShortcutRelated)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
@ -386,7 +451,7 @@ func file_store_workspace_setting_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_store_workspace_setting_proto_rawDesc,
NumEnums: 1,
NumMessages: 1,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -10,32 +10,30 @@ message UserSetting {
UserSettingKey key = 2;
oneof value {
UserSettingGeneral general = 3;
GeneralSetting general = 3;
AccessTokensSetting access_tokens = 4;
}
UserSettingAccessTokens access_tokens = 4;
message GeneralSetting {
string locale = 1;
string color_theme = 2;
}
message AccessTokensSetting {
message AccessToken {
// The access token is a JWT token, including expiration time, issuer, etc.
string access_token = 1;
// A description for the access token.
string description = 2;
}
repeated AccessToken access_tokens = 1; // Nested repeated field
}
}
enum UserSettingKey {
USER_SETTING_KEY_UNSPECIFIED = 0;
// General settings for the user.
GENERAL = 1;
// Access tokens for the user.
ACCESS_TOKENS = 2;
}
message UserSettingGeneral {
string locale = 1;
string color_theme = 2;
}
message UserSettingAccessTokens {
message AccessToken {
// The access token is a JWT token.
// Including expiration time, issuer, etc.
string access_token = 1;
// A description for the access token.
string description = 2;
}
repeated AccessToken access_tokens = 1;
// User general settings.
USER_SETTING_GENERAL = 1;
// User access tokens.
USER_SETTING_ACCESS_TOKENS = 2;
}

View File

@ -8,39 +8,38 @@ option go_package = "gen/store";
message WorkspaceSetting {
WorkspaceSettingKey key = 1;
string raw = 4;
oneof value {
// The license key of workspace.
GeneralSetting general = 2;
ShortcutRelatedSetting shortcut_related = 3;
}
message GeneralSetting {
string secret_session = 1;
string license_key = 2;
// The secret session key used to encrypt session data.
string secret_session = 3;
// Whether to enable other users to sign up.
bool enable_signup = 4;
// The custom style.
string custom_style = 5;
// The instance URL of workspace.
string instance_url = 8;
// The default visibility of shortcuts and collections.
Visibility default_visibility = 9;
// The url of custom favicon provider. e.g. https://github.com/yourselfhosted/favicons
string favicon_provider = 10;
string custom_style = 3;
}
message ShortcutRelatedSetting {
Visibility default_visibility = 1;
}
}
enum WorkspaceSettingKey {
WORKSPACE_SETTING_KEY_UNSPECIFIED = 0;
// Workspace general settings.
WORKSPACE_SETTING_GENERAL = 1;
// Workspace shortcut-related settings.
WORKSPACE_SETTING_SHORTCUT_RELATED = 2;
// TODO: remove the following keys.
// The license key.
WORKSPACE_SETTING_LICENSE_KEY = 1;
WORKSPACE_SETTING_LICENSE_KEY = 3;
// The secret session key used to encrypt session data.
WORKSPACE_SETTING_SECRET_SESSION = 2;
// Whether to enable other users to sign up.
WORKSAPCE_SETTING_ENABLE_SIGNUP = 3;
WORKSPACE_SETTING_SECRET_SESSION = 4;
// The custom style.
WORKSPACE_SETTING_CUSTOM_STYLE = 4;
// The instance URL.
WORKSPACE_SETTING_INSTANCE_URL = 7;
WORKSPACE_SETTING_CUSTOM_STYLE = 5;
// The default visibility of shortcuts and collections.
WORKSPACE_SETTING_DEFAULT_VISIBILITY = 8;
// The url of custom favicon provider.
WORKSPACE_SETTING_FAVICON_PROVIDER = 9;
WORKSPACE_SETTING_DEFAULT_VISIBILITY = 6;
}