syntax = "proto3"; package slash.store; import "store/common.proto"; import "store/idp.proto"; option go_package = "gen/store"; message WorkspaceSetting { WorkspaceSettingKey key = 1; string raw = 2; oneof value { GeneralSetting general = 3; ShortcutRelatedSetting shortcut_related = 4; IdentityProviderSetting identity_provider = 5; } message GeneralSetting { string secret_session = 1; string license_key = 2; bytes branding = 3; string custom_style = 4; } message ShortcutRelatedSetting { Visibility default_visibility = 1; } message IdentityProviderSetting { repeated IdentityProvider identity_providers = 1; } } enum WorkspaceSettingKey { WORKSPACE_SETTING_KEY_UNSPECIFIED = 0; // Workspace general settings. WORKSPACE_SETTING_GENERAL = 1; // Workspace shortcut-related settings. WORKSPACE_SETTING_SHORTCUT_RELATED = 2; // Workspace identity provider settings. WORKSPACE_SETTING_IDENTITY_PROVIDER = 3; // TODO: remove the following keys. // The license key. WORKSPACE_SETTING_LICENSE_KEY = 10; // The secret session key used to encrypt session data. WORKSPACE_SETTING_SECRET_SESSION = 11; // The custom style. WORKSPACE_SETTING_CUSTOM_STYLE = 12; // The default visibility of shortcuts and collections. WORKSPACE_SETTING_DEFAULT_VISIBILITY = 13; }