syntax = "proto3"; package slash.store; option go_package = "gen/store"; message WorkspaceSetting { WorkspaceSettingKey key = 1; oneof value { string license_key = 2; string secret_session = 3; bool enable_signup = 4; string resource_relative_path = 5; string custom_style = 6; string custom_script = 7; AutoBackupWorkspaceSetting auto_backup = 8; } } enum WorkspaceSettingKey { WORKSPACE_SETTING_KEY_UNSPECIFIED = 0; // The license key. WORKSPACE_SETTING_LICENSE_KEY = 1; // 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; // The relative path of the resource directory. WORKSPACE_SETTING_RESOURCE_RELATIVE_PATH = 4; // The custom style. WORKSPACE_SETTING_CUSTOM_STYLE = 5; // The custom script. WORKSPACE_SETTING_CUSTOM_SCRIPT = 6; // The auto backup setting. WORKSPACE_SETTING_AUTO_BACKUP = 7; } message AutoBackupWorkspaceSetting { // Whether auto backup is enabled. bool enabled = 1; // The cron expression for auto backup. // For example, "0 0 0 * * *" means backup at 00:00:00 every day. // See https://en.wikipedia.org/wiki/Cron for more details. string cron_expression = 2; // The maximum number of backups to keep. int32 max_keep = 3; }