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 custom_style = 5; string custom_script = 6; AutoBackupWorkspaceSetting auto_backup = 7; string instance_url = 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 custom style. WORKSPACE_SETTING_CUSTOM_STYLE = 4; // The custom script. WORKSPACE_SETTING_CUSTOM_SCRIPT = 5; // The auto backup setting. WORKSPACE_SETTING_AUTO_BACKUP = 6; // The instance URL. WORKSPACE_SETTING_INSTANCE_URL = 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; }