syntax = "proto3"; package slash.store; option go_package = "gen/store"; message WorkspaceSetting { WorkspaceSettingKey key = 1; oneof value { string secret_session = 2; bool enable_signup = 3; string resource_relative_path = 4; AutoBackupWorkspaceSetting auto_backup = 5; } } enum WorkspaceSettingKey { WORKSPACE_SETTING_KEY_UNSPECIFIED = 0; // The secret session key used to encrypt session data. WORKSPACE_SETTING_SECRET_SESSION = 1; // Whether to enable other users to sign up. WORKSAPCE_SETTING_ENABLE_SIGNUP = 2; // The relative path of the resource directory. WORKSPACE_SETTING_RESOURCE_RELATIVE_PATH = 3; // The auto backup setting. WORKSPACE_SETTING_AUTO_BACKUP = 4; } 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; }