mirror of
https://github.com/usememos/memos.git
synced 2025-03-07 02:53:29 +08:00
chore: update workspace setting definition
This commit is contained in:
parent
c93b1efbae
commit
71c39ed554
6 changed files with 550 additions and 101 deletions
|
@ -40,8 +40,11 @@
|
|||
- [WorkspaceGeneralSetting](#memos-store-WorkspaceGeneralSetting)
|
||||
- [WorkspaceMemoRelatedSetting](#memos-store-WorkspaceMemoRelatedSetting)
|
||||
- [WorkspaceSetting](#memos-store-WorkspaceSetting)
|
||||
- [WorkspaceStorageSetting](#memos-store-WorkspaceStorageSetting)
|
||||
- [WorkspaceTelegramIntegrationSetting](#memos-store-WorkspaceTelegramIntegrationSetting)
|
||||
|
||||
- [WorkspaceSettingKey](#memos-store-WorkspaceSettingKey)
|
||||
- [WorkspaceStorageSetting.StorageType](#memos-store-WorkspaceStorageSetting-StorageType)
|
||||
|
||||
- [Scalar Value Types](#scalar-value-types)
|
||||
|
||||
|
@ -484,7 +487,41 @@
|
|||
| ----- | ---- | ----- | ----------- |
|
||||
| key | [WorkspaceSettingKey](#memos-store-WorkspaceSettingKey) | | |
|
||||
| general_setting | [WorkspaceGeneralSetting](#memos-store-WorkspaceGeneralSetting) | | |
|
||||
| storage_setting | [WorkspaceStorageSetting](#memos-store-WorkspaceStorageSetting) | | |
|
||||
| memo_related_setting | [WorkspaceMemoRelatedSetting](#memos-store-WorkspaceMemoRelatedSetting) | | |
|
||||
| telegram_integration_setting | [WorkspaceTelegramIntegrationSetting](#memos-store-WorkspaceTelegramIntegrationSetting) | | |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="memos-store-WorkspaceStorageSetting"></a>
|
||||
|
||||
### WorkspaceStorageSetting
|
||||
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| storage_type | [WorkspaceStorageSetting.StorageType](#memos-store-WorkspaceStorageSetting-StorageType) | | storage_type is the storage type. |
|
||||
| local_storage_path | [string](#string) | | The local storage path for STORAGE_TYPE_LOCAL. e.g. assets/{timestamp}_{filename} |
|
||||
| upload_size_limit_mb | [int64](#int64) | | The max upload size in megabytes. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="memos-store-WorkspaceTelegramIntegrationSetting"></a>
|
||||
|
||||
### WorkspaceTelegramIntegrationSetting
|
||||
|
||||
|
||||
|
||||
| Field | Type | Label | Description |
|
||||
| ----- | ---- | ----- | ----------- |
|
||||
| telegram_bot_token | [string](#string) | | telegram_bot_token is the telegram bot token. |
|
||||
|
||||
|
||||
|
||||
|
@ -502,7 +539,23 @@
|
|||
| ---- | ------ | ----------- |
|
||||
| WORKSPACE_SETTING_KEY_UNSPECIFIED | 0 | |
|
||||
| WORKSPACE_SETTING_GENERAL | 1 | WORKSPACE_SETTING_GENERAL is the key for general settings. |
|
||||
| WORKSPACE_SETTING_MEMO_RELATED | 2 | WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings. |
|
||||
| WORKSPACE_SETTING_STORAGE | 2 | WORKSPACE_SETTING_STORAGE is the key for storage settings. |
|
||||
| WORKSPACE_SETTING_MEMO_RELATED | 3 | WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings. |
|
||||
| WORKSPACE_SETTING_TELEGRAM_INTEGRATION | 4 | WORKSPACE_SETTING_TELEGRAM_INTEGRATION is the key for telegram integration settings. |
|
||||
|
||||
|
||||
|
||||
<a name="memos-store-WorkspaceStorageSetting-StorageType"></a>
|
||||
|
||||
### WorkspaceStorageSetting.StorageType
|
||||
|
||||
|
||||
| Name | Number | Description |
|
||||
| ---- | ------ | ----------- |
|
||||
| STORAGE_TYPE_UNSPECIFIED | 0 | |
|
||||
| STORAGE_TYPE_DATABASE | 1 | STORAGE_TYPE_DATABASE is the database storage type. |
|
||||
| STORAGE_TYPE_LOCAL | 2 | STORAGE_TYPE_LOCAL is the local storage type. |
|
||||
| STORAGE_TYPE_EXTERNAL | 3 | STORAGE_TYPE_EXTERNAL is the external storage type. |
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -26,8 +26,12 @@ const (
|
|||
WorkspaceSettingKey_WORKSPACE_SETTING_KEY_UNSPECIFIED WorkspaceSettingKey = 0
|
||||
// WORKSPACE_SETTING_GENERAL is the key for general settings.
|
||||
WorkspaceSettingKey_WORKSPACE_SETTING_GENERAL WorkspaceSettingKey = 1
|
||||
// WORKSPACE_SETTING_STORAGE is the key for storage settings.
|
||||
WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE WorkspaceSettingKey = 2
|
||||
// WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings.
|
||||
WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED WorkspaceSettingKey = 2
|
||||
WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED WorkspaceSettingKey = 3
|
||||
// WORKSPACE_SETTING_TELEGRAM_INTEGRATION is the key for telegram integration settings.
|
||||
WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION WorkspaceSettingKey = 4
|
||||
)
|
||||
|
||||
// Enum value maps for WorkspaceSettingKey.
|
||||
|
@ -35,12 +39,16 @@ var (
|
|||
WorkspaceSettingKey_name = map[int32]string{
|
||||
0: "WORKSPACE_SETTING_KEY_UNSPECIFIED",
|
||||
1: "WORKSPACE_SETTING_GENERAL",
|
||||
2: "WORKSPACE_SETTING_MEMO_RELATED",
|
||||
2: "WORKSPACE_SETTING_STORAGE",
|
||||
3: "WORKSPACE_SETTING_MEMO_RELATED",
|
||||
4: "WORKSPACE_SETTING_TELEGRAM_INTEGRATION",
|
||||
}
|
||||
WorkspaceSettingKey_value = map[string]int32{
|
||||
"WORKSPACE_SETTING_KEY_UNSPECIFIED": 0,
|
||||
"WORKSPACE_SETTING_GENERAL": 1,
|
||||
"WORKSPACE_SETTING_MEMO_RELATED": 2,
|
||||
"WORKSPACE_SETTING_KEY_UNSPECIFIED": 0,
|
||||
"WORKSPACE_SETTING_GENERAL": 1,
|
||||
"WORKSPACE_SETTING_STORAGE": 2,
|
||||
"WORKSPACE_SETTING_MEMO_RELATED": 3,
|
||||
"WORKSPACE_SETTING_TELEGRAM_INTEGRATION": 4,
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -71,6 +79,61 @@ func (WorkspaceSettingKey) EnumDescriptor() ([]byte, []int) {
|
|||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type WorkspaceStorageSetting_StorageType int32
|
||||
|
||||
const (
|
||||
WorkspaceStorageSetting_STORAGE_TYPE_UNSPECIFIED WorkspaceStorageSetting_StorageType = 0
|
||||
// STORAGE_TYPE_DATABASE is the database storage type.
|
||||
WorkspaceStorageSetting_STORAGE_TYPE_DATABASE WorkspaceStorageSetting_StorageType = 1
|
||||
// STORAGE_TYPE_LOCAL is the local storage type.
|
||||
WorkspaceStorageSetting_STORAGE_TYPE_LOCAL WorkspaceStorageSetting_StorageType = 2
|
||||
// STORAGE_TYPE_EXTERNAL is the external storage type.
|
||||
WorkspaceStorageSetting_STORAGE_TYPE_EXTERNAL WorkspaceStorageSetting_StorageType = 3
|
||||
)
|
||||
|
||||
// Enum value maps for WorkspaceStorageSetting_StorageType.
|
||||
var (
|
||||
WorkspaceStorageSetting_StorageType_name = map[int32]string{
|
||||
0: "STORAGE_TYPE_UNSPECIFIED",
|
||||
1: "STORAGE_TYPE_DATABASE",
|
||||
2: "STORAGE_TYPE_LOCAL",
|
||||
3: "STORAGE_TYPE_EXTERNAL",
|
||||
}
|
||||
WorkspaceStorageSetting_StorageType_value = map[string]int32{
|
||||
"STORAGE_TYPE_UNSPECIFIED": 0,
|
||||
"STORAGE_TYPE_DATABASE": 1,
|
||||
"STORAGE_TYPE_LOCAL": 2,
|
||||
"STORAGE_TYPE_EXTERNAL": 3,
|
||||
}
|
||||
)
|
||||
|
||||
func (x WorkspaceStorageSetting_StorageType) Enum() *WorkspaceStorageSetting_StorageType {
|
||||
p := new(WorkspaceStorageSetting_StorageType)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x WorkspaceStorageSetting_StorageType) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (WorkspaceStorageSetting_StorageType) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_store_workspace_setting_proto_enumTypes[1].Descriptor()
|
||||
}
|
||||
|
||||
func (WorkspaceStorageSetting_StorageType) Type() protoreflect.EnumType {
|
||||
return &file_store_workspace_setting_proto_enumTypes[1]
|
||||
}
|
||||
|
||||
func (x WorkspaceStorageSetting_StorageType) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use WorkspaceStorageSetting_StorageType.Descriptor instead.
|
||||
func (WorkspaceStorageSetting_StorageType) EnumDescriptor() ([]byte, []int) {
|
||||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{2, 0}
|
||||
}
|
||||
|
||||
type WorkspaceSetting struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -80,7 +143,9 @@ type WorkspaceSetting struct {
|
|||
// Types that are assignable to Value:
|
||||
//
|
||||
// *WorkspaceSetting_GeneralSetting
|
||||
// *WorkspaceSetting_StorageSetting
|
||||
// *WorkspaceSetting_MemoRelatedSetting
|
||||
// *WorkspaceSetting_TelegramIntegrationSetting
|
||||
Value isWorkspaceSetting_Value `protobuf_oneof:"value"`
|
||||
}
|
||||
|
||||
|
@ -137,6 +202,13 @@ func (x *WorkspaceSetting) GetGeneralSetting() *WorkspaceGeneralSetting {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *WorkspaceSetting) GetStorageSetting() *WorkspaceStorageSetting {
|
||||
if x, ok := x.GetValue().(*WorkspaceSetting_StorageSetting); ok {
|
||||
return x.StorageSetting
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *WorkspaceSetting) GetMemoRelatedSetting() *WorkspaceMemoRelatedSetting {
|
||||
if x, ok := x.GetValue().(*WorkspaceSetting_MemoRelatedSetting); ok {
|
||||
return x.MemoRelatedSetting
|
||||
|
@ -144,6 +216,13 @@ func (x *WorkspaceSetting) GetMemoRelatedSetting() *WorkspaceMemoRelatedSetting
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *WorkspaceSetting) GetTelegramIntegrationSetting() *WorkspaceTelegramIntegrationSetting {
|
||||
if x, ok := x.GetValue().(*WorkspaceSetting_TelegramIntegrationSetting); ok {
|
||||
return x.TelegramIntegrationSetting
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type isWorkspaceSetting_Value interface {
|
||||
isWorkspaceSetting_Value()
|
||||
}
|
||||
|
@ -152,14 +231,26 @@ type WorkspaceSetting_GeneralSetting struct {
|
|||
GeneralSetting *WorkspaceGeneralSetting `protobuf:"bytes,2,opt,name=general_setting,json=generalSetting,proto3,oneof"`
|
||||
}
|
||||
|
||||
type WorkspaceSetting_StorageSetting struct {
|
||||
StorageSetting *WorkspaceStorageSetting `protobuf:"bytes,3,opt,name=storage_setting,json=storageSetting,proto3,oneof"`
|
||||
}
|
||||
|
||||
type WorkspaceSetting_MemoRelatedSetting struct {
|
||||
MemoRelatedSetting *WorkspaceMemoRelatedSetting `protobuf:"bytes,3,opt,name=memo_related_setting,json=memoRelatedSetting,proto3,oneof"`
|
||||
MemoRelatedSetting *WorkspaceMemoRelatedSetting `protobuf:"bytes,4,opt,name=memo_related_setting,json=memoRelatedSetting,proto3,oneof"`
|
||||
}
|
||||
|
||||
type WorkspaceSetting_TelegramIntegrationSetting struct {
|
||||
TelegramIntegrationSetting *WorkspaceTelegramIntegrationSetting `protobuf:"bytes,5,opt,name=telegram_integration_setting,json=telegramIntegrationSetting,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*WorkspaceSetting_GeneralSetting) isWorkspaceSetting_Value() {}
|
||||
|
||||
func (*WorkspaceSetting_StorageSetting) isWorkspaceSetting_Value() {}
|
||||
|
||||
func (*WorkspaceSetting_MemoRelatedSetting) isWorkspaceSetting_Value() {}
|
||||
|
||||
func (*WorkspaceSetting_TelegramIntegrationSetting) isWorkspaceSetting_Value() {}
|
||||
|
||||
type WorkspaceGeneralSetting struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -244,6 +335,73 @@ func (x *WorkspaceGeneralSetting) GetAdditionalStyle() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
type WorkspaceStorageSetting struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// storage_type is the storage type.
|
||||
StorageType WorkspaceStorageSetting_StorageType `protobuf:"varint,1,opt,name=storage_type,json=storageType,proto3,enum=memos.store.WorkspaceStorageSetting_StorageType" json:"storage_type,omitempty"`
|
||||
// The local storage path for STORAGE_TYPE_LOCAL.
|
||||
// e.g. assets/{timestamp}_{filename}
|
||||
LocalStoragePath string `protobuf:"bytes,2,opt,name=local_storage_path,json=localStoragePath,proto3" json:"local_storage_path,omitempty"`
|
||||
// The max upload size in megabytes.
|
||||
UploadSizeLimitMb int64 `protobuf:"varint,3,opt,name=upload_size_limit_mb,json=uploadSizeLimitMb,proto3" json:"upload_size_limit_mb,omitempty"`
|
||||
}
|
||||
|
||||
func (x *WorkspaceStorageSetting) Reset() {
|
||||
*x = WorkspaceStorageSetting{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *WorkspaceStorageSetting) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*WorkspaceStorageSetting) ProtoMessage() {}
|
||||
|
||||
func (x *WorkspaceStorageSetting) 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 WorkspaceStorageSetting.ProtoReflect.Descriptor instead.
|
||||
func (*WorkspaceStorageSetting) Descriptor() ([]byte, []int) {
|
||||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *WorkspaceStorageSetting) GetStorageType() WorkspaceStorageSetting_StorageType {
|
||||
if x != nil {
|
||||
return x.StorageType
|
||||
}
|
||||
return WorkspaceStorageSetting_STORAGE_TYPE_UNSPECIFIED
|
||||
}
|
||||
|
||||
func (x *WorkspaceStorageSetting) GetLocalStoragePath() string {
|
||||
if x != nil {
|
||||
return x.LocalStoragePath
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkspaceStorageSetting) GetUploadSizeLimitMb() int64 {
|
||||
if x != nil {
|
||||
return x.UploadSizeLimitMb
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type WorkspaceMemoRelatedSetting struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
|
@ -258,7 +416,7 @@ type WorkspaceMemoRelatedSetting struct {
|
|||
func (x *WorkspaceMemoRelatedSetting) Reset() {
|
||||
*x = WorkspaceMemoRelatedSetting{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[2]
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -271,7 +429,7 @@ func (x *WorkspaceMemoRelatedSetting) String() string {
|
|||
func (*WorkspaceMemoRelatedSetting) ProtoMessage() {}
|
||||
|
||||
func (x *WorkspaceMemoRelatedSetting) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[2]
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -284,7 +442,7 @@ func (x *WorkspaceMemoRelatedSetting) ProtoReflect() protoreflect.Message {
|
|||
|
||||
// Deprecated: Use WorkspaceMemoRelatedSetting.ProtoReflect.Descriptor instead.
|
||||
func (*WorkspaceMemoRelatedSetting) Descriptor() ([]byte, []int) {
|
||||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{2}
|
||||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *WorkspaceMemoRelatedSetting) GetDisallowPublicVisible() bool {
|
||||
|
@ -301,12 +459,60 @@ func (x *WorkspaceMemoRelatedSetting) GetDisplayWithUpdateTime() bool {
|
|||
return false
|
||||
}
|
||||
|
||||
type WorkspaceTelegramIntegrationSetting struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// telegram_bot_token is the telegram bot token.
|
||||
TelegramBotToken string `protobuf:"bytes,1,opt,name=telegram_bot_token,json=telegramBotToken,proto3" json:"telegram_bot_token,omitempty"`
|
||||
}
|
||||
|
||||
func (x *WorkspaceTelegramIntegrationSetting) Reset() {
|
||||
*x = WorkspaceTelegramIntegrationSetting{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *WorkspaceTelegramIntegrationSetting) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*WorkspaceTelegramIntegrationSetting) ProtoMessage() {}
|
||||
|
||||
func (x *WorkspaceTelegramIntegrationSetting) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_store_workspace_setting_proto_msgTypes[4]
|
||||
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 WorkspaceTelegramIntegrationSetting.ProtoReflect.Descriptor instead.
|
||||
func (*WorkspaceTelegramIntegrationSetting) Descriptor() ([]byte, []int) {
|
||||
return file_store_workspace_setting_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *WorkspaceTelegramIntegrationSetting) GetTelegramBotToken() string {
|
||||
if x != nil {
|
||||
return x.TelegramBotToken
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_store_workspace_setting_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_store_workspace_setting_proto_rawDesc = []byte{
|
||||
0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
|
||||
0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xfe, 0x01, 0x0a,
|
||||
0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xc5, 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, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72,
|
||||
|
@ -316,57 +522,100 @@ var file_store_workspace_setting_proto_rawDesc = []byte{
|
|||
0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72,
|
||||
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5c, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f,
|
||||
0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f,
|
||||
0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00,
|
||||
0x52, 0x12, 0x6d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf5, 0x01,
|
||||
0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73,
|
||||
0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f,
|
||||
0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53,
|
||||
0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f,
|
||||
0x77, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
|
||||
0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a,
|
||||
0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64,
|
||||
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
|
||||
0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
|
||||
0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f,
|
||||
0x77, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
|
||||
0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a,
|
||||
0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x7f, 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, 0x22, 0x0a, 0x1e, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45,
|
||||
0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x5f, 0x52, 0x45,
|
||||
0x4c, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x42, 0xa0, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e,
|
||||
0x6d, 0x65, 0x6d, 0x6f, 0x73, 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, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xa2,
|
||||
0x02, 0x03, 0x4d, 0x53, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74,
|
||||
0x6f, 0x72, 0x65, 0xca, 0x02, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x6f, 0x72,
|
||||
0x65, 0xe2, 0x02, 0x17, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x5c,
|
||||
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x4d, 0x65,
|
||||
0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
|
||||
0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f,
|
||||
0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
|
||||
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5c, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x6f, 0x5f,
|
||||
0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
|
||||
0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48,
|
||||
0x00, 0x52, 0x12, 0x6d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x74, 0x0a, 0x1c, 0x74, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61,
|
||||
0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x65,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70,
|
||||
0x61, 0x63, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x67,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52,
|
||||
0x1a, 0x74, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x17, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61,
|
||||
0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
|
||||
0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f,
|
||||
0x73, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69,
|
||||
0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x12, 0x36, 0x0a, 0x17,
|
||||
0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
|
||||
0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64,
|
||||
0x69, 0x73, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c,
|
||||
0x6f, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x61, 0x6c, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x72, 0x69, 0x70,
|
||||
0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
||||
0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64,
|
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x22, 0xc8, 0x02, 0x0a,
|
||||
0x17, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
|
||||
0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72,
|
||||
0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30,
|
||||
0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72,
|
||||
0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||
0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a,
|
||||
0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
|
||||
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x14, 0x75,
|
||||
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x5f, 0x6d, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x62, 0x22, 0x79, 0x0a, 0x0b,
|
||||
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x53,
|
||||
0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
|
||||
0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f,
|
||||
0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41,
|
||||
0x53, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f,
|
||||
0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15,
|
||||
0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54,
|
||||
0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x8e, 0x01, 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6b,
|
||||
0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
|
||||
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x61, 0x6c,
|
||||
0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62,
|
||||
0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x61, 0x6c, 0x6c,
|
||||
0x6f, 0x77, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12,
|
||||
0x37, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f,
|
||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x57, 0x69, 0x74, 0x68, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x23, 0x57, 0x6f, 0x72, 0x6b,
|
||||
0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
|
||||
0x2c, 0x0a, 0x12, 0x74, 0x65, 0x6c, 0x65, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x6f, 0x74, 0x5f,
|
||||
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x65, 0x6c,
|
||||
0x65, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x6f, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2a, 0xca, 0x01,
|
||||
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, 0x1d, 0x0a, 0x19, 0x57,
|
||||
0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47,
|
||||
0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x4f,
|
||||
0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f,
|
||||
0x4d, 0x45, 0x4d, 0x4f, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x2a,
|
||||
0x0a, 0x26, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54,
|
||||
0x49, 0x4e, 0x47, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x47, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x54,
|
||||
0x45, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x42, 0xa0, 0x01, 0x0a, 0x0f, 0x63,
|
||||
0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 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, 0x29, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d,
|
||||
0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x74, 0x6f,
|
||||
0x72, 0x65, 0xa2, 0x02, 0x03, 0x4d, 0x53, 0x58, 0xaa, 0x02, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0xca, 0x02, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x53,
|
||||
0x74, 0x6f, 0x72, 0x65, 0xe2, 0x02, 0x17, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x6f,
|
||||
0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
|
||||
0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -381,23 +630,29 @@ func file_store_workspace_setting_proto_rawDescGZIP() []byte {
|
|||
return file_store_workspace_setting_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_store_workspace_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_store_workspace_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||
var file_store_workspace_setting_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
||||
var file_store_workspace_setting_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_store_workspace_setting_proto_goTypes = []interface{}{
|
||||
(WorkspaceSettingKey)(0), // 0: memos.store.WorkspaceSettingKey
|
||||
(*WorkspaceSetting)(nil), // 1: memos.store.WorkspaceSetting
|
||||
(*WorkspaceGeneralSetting)(nil), // 2: memos.store.WorkspaceGeneralSetting
|
||||
(*WorkspaceMemoRelatedSetting)(nil), // 3: memos.store.WorkspaceMemoRelatedSetting
|
||||
(WorkspaceSettingKey)(0), // 0: memos.store.WorkspaceSettingKey
|
||||
(WorkspaceStorageSetting_StorageType)(0), // 1: memos.store.WorkspaceStorageSetting.StorageType
|
||||
(*WorkspaceSetting)(nil), // 2: memos.store.WorkspaceSetting
|
||||
(*WorkspaceGeneralSetting)(nil), // 3: memos.store.WorkspaceGeneralSetting
|
||||
(*WorkspaceStorageSetting)(nil), // 4: memos.store.WorkspaceStorageSetting
|
||||
(*WorkspaceMemoRelatedSetting)(nil), // 5: memos.store.WorkspaceMemoRelatedSetting
|
||||
(*WorkspaceTelegramIntegrationSetting)(nil), // 6: memos.store.WorkspaceTelegramIntegrationSetting
|
||||
}
|
||||
var file_store_workspace_setting_proto_depIdxs = []int32{
|
||||
0, // 0: memos.store.WorkspaceSetting.key:type_name -> memos.store.WorkspaceSettingKey
|
||||
2, // 1: memos.store.WorkspaceSetting.general_setting:type_name -> memos.store.WorkspaceGeneralSetting
|
||||
3, // 2: memos.store.WorkspaceSetting.memo_related_setting:type_name -> memos.store.WorkspaceMemoRelatedSetting
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
3, // 1: memos.store.WorkspaceSetting.general_setting:type_name -> memos.store.WorkspaceGeneralSetting
|
||||
4, // 2: memos.store.WorkspaceSetting.storage_setting:type_name -> memos.store.WorkspaceStorageSetting
|
||||
5, // 3: memos.store.WorkspaceSetting.memo_related_setting:type_name -> memos.store.WorkspaceMemoRelatedSetting
|
||||
6, // 4: memos.store.WorkspaceSetting.telegram_integration_setting:type_name -> memos.store.WorkspaceTelegramIntegrationSetting
|
||||
1, // 5: memos.store.WorkspaceStorageSetting.storage_type:type_name -> memos.store.WorkspaceStorageSetting.StorageType
|
||||
6, // [6:6] is the sub-list for method output_type
|
||||
6, // [6:6] is the sub-list for method input_type
|
||||
6, // [6:6] is the sub-list for extension type_name
|
||||
6, // [6:6] is the sub-list for extension extendee
|
||||
0, // [0:6] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_store_workspace_setting_proto_init() }
|
||||
|
@ -431,6 +686,18 @@ func file_store_workspace_setting_proto_init() {
|
|||
}
|
||||
}
|
||||
file_store_workspace_setting_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*WorkspaceStorageSetting); 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[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*WorkspaceMemoRelatedSetting); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
|
@ -442,18 +709,32 @@ func file_store_workspace_setting_proto_init() {
|
|||
return nil
|
||||
}
|
||||
}
|
||||
file_store_workspace_setting_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*WorkspaceTelegramIntegrationSetting); 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 = []interface{}{
|
||||
(*WorkspaceSetting_GeneralSetting)(nil),
|
||||
(*WorkspaceSetting_StorageSetting)(nil),
|
||||
(*WorkspaceSetting_MemoRelatedSetting)(nil),
|
||||
(*WorkspaceSetting_TelegramIntegrationSetting)(nil),
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_store_workspace_setting_proto_rawDesc,
|
||||
NumEnums: 1,
|
||||
NumMessages: 3,
|
||||
NumEnums: 2,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
|
|
@ -8,15 +8,21 @@ enum WorkspaceSettingKey {
|
|||
WORKSPACE_SETTING_KEY_UNSPECIFIED = 0;
|
||||
// WORKSPACE_SETTING_GENERAL is the key for general settings.
|
||||
WORKSPACE_SETTING_GENERAL = 1;
|
||||
// WORKSPACE_SETTING_STORAGE is the key for storage settings.
|
||||
WORKSPACE_SETTING_STORAGE = 2;
|
||||
// WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings.
|
||||
WORKSPACE_SETTING_MEMO_RELATED = 2;
|
||||
WORKSPACE_SETTING_MEMO_RELATED = 3;
|
||||
// WORKSPACE_SETTING_TELEGRAM_INTEGRATION is the key for telegram integration settings.
|
||||
WORKSPACE_SETTING_TELEGRAM_INTEGRATION = 4;
|
||||
}
|
||||
|
||||
message WorkspaceSetting {
|
||||
WorkspaceSettingKey key = 1;
|
||||
oneof value {
|
||||
WorkspaceGeneralSetting general_setting = 2;
|
||||
WorkspaceMemoRelatedSetting memo_related_setting = 3;
|
||||
WorkspaceStorageSetting storage_setting = 3;
|
||||
WorkspaceMemoRelatedSetting memo_related_setting = 4;
|
||||
WorkspaceTelegramIntegrationSetting telegram_integration_setting = 5;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,9 +39,34 @@ message WorkspaceGeneralSetting {
|
|||
string additional_style = 6;
|
||||
}
|
||||
|
||||
message WorkspaceStorageSetting {
|
||||
// storage_type is the storage type.
|
||||
StorageType storage_type = 1;
|
||||
// The local storage path for STORAGE_TYPE_LOCAL.
|
||||
// e.g. assets/{timestamp}_{filename}
|
||||
string local_storage_path = 2;
|
||||
// The max upload size in megabytes.
|
||||
int64 upload_size_limit_mb = 3;
|
||||
|
||||
enum StorageType {
|
||||
STORAGE_TYPE_UNSPECIFIED = 0;
|
||||
// STORAGE_TYPE_DATABASE is the database storage type.
|
||||
STORAGE_TYPE_DATABASE = 1;
|
||||
// STORAGE_TYPE_LOCAL is the local storage type.
|
||||
STORAGE_TYPE_LOCAL = 2;
|
||||
// STORAGE_TYPE_EXTERNAL is the external storage type.
|
||||
STORAGE_TYPE_EXTERNAL = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message WorkspaceMemoRelatedSetting {
|
||||
// disallow_public_share disallows set memo as public visible.
|
||||
bool disallow_public_visible = 1;
|
||||
// display_with_update_time orders and displays memo with update time.
|
||||
bool display_with_update_time = 2;
|
||||
}
|
||||
|
||||
message WorkspaceTelegramIntegrationSetting {
|
||||
// telegram_bot_token is the telegram bot token.
|
||||
string telegram_bot_token = 1;
|
||||
}
|
||||
|
|
|
@ -2,8 +2,10 @@ package mysql
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
|
||||
storepb "github.com/usememos/memos/proto/gen/store"
|
||||
|
@ -72,14 +74,23 @@ func (d *DB) UpsertWorkspaceSettingV1(ctx context.Context, upsert *storepb.Works
|
|||
INSERT INTO system_setting (name, value, description)
|
||||
VALUES (?, ?, '')
|
||||
ON DUPLICATE KEY UPDATE value = ?`
|
||||
var valueString string
|
||||
var valueBytes []byte
|
||||
var err error
|
||||
if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_GENERAL {
|
||||
valueBytes, err := protojson.Marshal(upsert.GetGeneralSetting())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
valueString = string(valueBytes)
|
||||
valueBytes, err = protojson.Marshal(upsert.GetGeneralSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetStorageSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetMemoRelatedSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetTelegramIntegrationSetting())
|
||||
} else {
|
||||
return nil, errors.New(fmt.Sprintf("unsupported workspace setting key: %s", upsert.Key.String()))
|
||||
}
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to marshal workspace setting value")
|
||||
}
|
||||
valueString := string(valueBytes)
|
||||
if _, err := d.db.ExecContext(ctx, stmt, upsert.Key.String(), valueString, valueString); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -117,6 +128,24 @@ func (d *DB) ListWorkspaceSettingsV1(ctx context.Context, find *store.FindWorksp
|
|||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_GeneralSetting{GeneralSetting: generalSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
storageSetting := &storepb.WorkspaceStorageSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), storageSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_StorageSetting{StorageSetting: storageSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
memoRelatedSetting := &storepb.WorkspaceMemoRelatedSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), memoRelatedSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_MemoRelatedSetting{MemoRelatedSetting: memoRelatedSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
telegramIntegrationSetting := &storepb.WorkspaceTelegramIntegrationSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), telegramIntegrationSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_TelegramIntegrationSetting{TelegramIntegrationSetting: telegramIntegrationSetting}
|
||||
} else {
|
||||
// Skip unknown workspace setting key.
|
||||
continue
|
||||
|
|
|
@ -2,8 +2,10 @@ package postgres
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
|
||||
storepb "github.com/usememos/memos/proto/gen/store"
|
||||
|
@ -82,14 +84,23 @@ func (d *DB) UpsertWorkspaceSettingV1(ctx context.Context, upsert *storepb.Works
|
|||
VALUES ($1, $2, '')
|
||||
ON CONFLICT(name) DO UPDATE
|
||||
SET value = EXCLUDED.value`
|
||||
var valueString string
|
||||
var valueBytes []byte
|
||||
var err error
|
||||
if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_GENERAL {
|
||||
valueBytes, err := protojson.Marshal(upsert.GetGeneralSetting())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
valueString = string(valueBytes)
|
||||
valueBytes, err = protojson.Marshal(upsert.GetGeneralSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetStorageSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetMemoRelatedSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetTelegramIntegrationSetting())
|
||||
} else {
|
||||
return nil, errors.New(fmt.Sprintf("unsupported workspace setting key: %s", upsert.Key.String()))
|
||||
}
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to marshal workspace setting value")
|
||||
}
|
||||
valueString := string(valueBytes)
|
||||
if _, err := d.db.ExecContext(ctx, stmt, upsert.Key.String(), valueString); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -127,6 +138,24 @@ func (d *DB) ListWorkspaceSettingsV1(ctx context.Context, find *store.FindWorksp
|
|||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_GeneralSetting{GeneralSetting: generalSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
storageSetting := &storepb.WorkspaceStorageSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), storageSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_StorageSetting{StorageSetting: storageSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
memoRelatedSetting := &storepb.WorkspaceMemoRelatedSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), memoRelatedSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_MemoRelatedSetting{MemoRelatedSetting: memoRelatedSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
telegramIntegrationSetting := &storepb.WorkspaceTelegramIntegrationSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), telegramIntegrationSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_TelegramIntegrationSetting{TelegramIntegrationSetting: telegramIntegrationSetting}
|
||||
} else {
|
||||
// Skip unknown workspace setting key.
|
||||
continue
|
||||
|
|
|
@ -2,8 +2,10 @@ package sqlite
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
|
||||
storepb "github.com/usememos/memos/proto/gen/store"
|
||||
|
@ -82,14 +84,23 @@ func (d *DB) UpsertWorkspaceSettingV1(ctx context.Context, upsert *storepb.Works
|
|||
VALUES (?, ?)
|
||||
ON CONFLICT(name) DO UPDATE
|
||||
SET value = EXCLUDED.value`
|
||||
var valueString string
|
||||
var valueBytes []byte
|
||||
var err error
|
||||
if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_GENERAL {
|
||||
valueBytes, err := protojson.Marshal(upsert.GetGeneralSetting())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
valueString = string(valueBytes)
|
||||
valueBytes, err = protojson.Marshal(upsert.GetGeneralSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetStorageSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetMemoRelatedSetting())
|
||||
} else if upsert.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
valueBytes, err = protojson.Marshal(upsert.GetTelegramIntegrationSetting())
|
||||
} else {
|
||||
return nil, errors.New(fmt.Sprintf("unsupported workspace setting key: %s", upsert.Key.String()))
|
||||
}
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to marshal workspace setting value")
|
||||
}
|
||||
valueString := string(valueBytes)
|
||||
if _, err := d.db.ExecContext(ctx, stmt, upsert.Key.String(), valueString); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -113,10 +124,7 @@ func (d *DB) ListWorkspaceSettingsV1(ctx context.Context, find *store.FindWorksp
|
|||
for rows.Next() {
|
||||
workspaceSetting := &storepb.WorkspaceSetting{}
|
||||
var keyString, valueString string
|
||||
if err := rows.Scan(
|
||||
&keyString,
|
||||
&valueString,
|
||||
); err != nil {
|
||||
if err := rows.Scan(&keyString, &valueString); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Key = storepb.WorkspaceSettingKey(storepb.WorkspaceSettingKey_value[keyString])
|
||||
|
@ -126,6 +134,24 @@ func (d *DB) ListWorkspaceSettingsV1(ctx context.Context, find *store.FindWorksp
|
|||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_GeneralSetting{GeneralSetting: generalSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_STORAGE {
|
||||
storageSetting := &storepb.WorkspaceStorageSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), storageSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_StorageSetting{StorageSetting: storageSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_MEMO_RELATED {
|
||||
memoRelatedSetting := &storepb.WorkspaceMemoRelatedSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), memoRelatedSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_MemoRelatedSetting{MemoRelatedSetting: memoRelatedSetting}
|
||||
} else if workspaceSetting.Key == storepb.WorkspaceSettingKey_WORKSPACE_SETTING_TELEGRAM_INTEGRATION {
|
||||
telegramIntegrationSetting := &storepb.WorkspaceTelegramIntegrationSetting{}
|
||||
if err := protojson.Unmarshal([]byte(valueString), telegramIntegrationSetting); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
workspaceSetting.Value = &storepb.WorkspaceSetting_TelegramIntegrationSetting{TelegramIntegrationSetting: telegramIntegrationSetting}
|
||||
} else {
|
||||
// Skip unknown workspace setting key.
|
||||
continue
|
||||
|
|
Loading…
Reference in a new issue