slash-e/proto/store/workspace_setting.proto
2024-07-29 22:03:21 +08:00

46 lines
1.0 KiB
Protocol Buffer

syntax = "proto3";
package slash.store;
import "store/common.proto";
option go_package = "gen/store";
message WorkspaceSetting {
WorkspaceSettingKey key = 1;
string raw = 4;
oneof value {
GeneralSetting general = 2;
ShortcutRelatedSetting shortcut_related = 3;
}
message GeneralSetting {
string secret_session = 1;
string license_key = 2;
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 = 3;
// The secret session key used to encrypt session data.
WORKSPACE_SETTING_SECRET_SESSION = 4;
// The custom style.
WORKSPACE_SETTING_CUSTOM_STYLE = 5;
// The default visibility of shortcuts and collections.
WORKSPACE_SETTING_DEFAULT_VISIBILITY = 6;
}