slash-e/proto/api/v2/workspace_service.proto
2023-09-21 08:25:55 +08:00

64 lines
1.6 KiB
Protocol Buffer

syntax = "proto3";
package slash.api.v2;
import "google/api/annotations.proto";
option go_package = "gen/api/v2";
service WorkspaceService {
rpc GetWorkspaceSetting(GetWorkspaceSettingRequest) returns (GetWorkspaceSettingResponse) {
option (google.api.http) = {get: "/api/v2/workspace/settings"};
}
rpc UpdateWorkspaceSetting(UpdateWorkspaceSettingRequest) returns (UpdateWorkspaceSettingResponse) {
option (google.api.http) = {
post: "/api/v2/workspace/settings"
body: "*"
};
}
}
message WorkspaceSetting {
string license_key = 1;
// Whether to enable other users to sign up.
bool enable_signup = 2;
// The relative path of the resource directory.
string resource_relative_path = 3;
// The custom style.
string custom_style = 4;
// The custom script.
string custom_script = 5;
// The auto backup setting.
AutoBackupWorkspaceSetting auto_backup = 6;
}
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;
}
message GetWorkspaceSettingRequest {}
message GetWorkspaceSettingResponse {
// The user setting.
WorkspaceSetting setting = 1;
}
message UpdateWorkspaceSettingRequest {
// The user setting.
WorkspaceSetting setting = 1;
// The update mask.
repeated string update_mask = 2;
}
message UpdateWorkspaceSettingResponse {
// The user setting.
WorkspaceSetting setting = 1;
}