mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
refactor: api version
This commit is contained in:
109
proto/api/v1/workspace_setting_service.proto
Normal file
109
proto/api/v1/workspace_setting_service.proto
Normal file
@@ -0,0 +1,109 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package memos.api.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
|
||||
option go_package = "gen/api/v1";
|
||||
|
||||
service WorkspaceSettingService {
|
||||
// ListWorkspaceSetting returns the list of settings.
|
||||
rpc ListWorkspaceSettings(ListWorkspaceSettingsRequest) returns (ListWorkspaceSettingsResponse) {
|
||||
option (google.api.http) = {get: "/api/v1/workspace/settings"};
|
||||
}
|
||||
// GetWorkspaceSetting returns the setting by name.
|
||||
rpc GetWorkspaceSetting(GetWorkspaceSettingRequest) returns (WorkspaceSetting) {
|
||||
option (google.api.http) = {get: "/api/v1/workspace/{name=settings/*}"};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
// SetWorkspaceSetting updates the setting.
|
||||
rpc SetWorkspaceSetting(SetWorkspaceSettingRequest) returns (WorkspaceSetting) {
|
||||
option (google.api.http) = {
|
||||
patch: "/api/v1/workspace/{setting.name=settings/*}",
|
||||
body: "setting"
|
||||
};
|
||||
option (google.api.method_signature) = "setting";
|
||||
}
|
||||
}
|
||||
|
||||
message WorkspaceSetting {
|
||||
// name is the name of the setting.
|
||||
// Format: settings/{setting}
|
||||
string name = 1;
|
||||
oneof value {
|
||||
WorkspaceGeneralSetting general_setting = 2;
|
||||
WorkspaceStorageSetting storage_setting = 3;
|
||||
WorkspaceMemoRelatedSetting memo_related_setting = 4;
|
||||
}
|
||||
}
|
||||
|
||||
message WorkspaceGeneralSetting {
|
||||
// instance_url is the instance URL.
|
||||
string instance_url = 1;
|
||||
// disallow_signup is the flag to disallow signup.
|
||||
bool disallow_signup = 2;
|
||||
// disallow_password_login is the flag to disallow password login.
|
||||
bool disallow_password_login = 3;
|
||||
// additional_script is the additional script.
|
||||
string additional_script = 4;
|
||||
// additional_style is the additional style.
|
||||
string additional_style = 5;
|
||||
// custom_profile is the custom profile.
|
||||
WorkspaceCustomProfile custom_profile = 6;
|
||||
}
|
||||
|
||||
message WorkspaceCustomProfile {
|
||||
string title = 1;
|
||||
string description = 2;
|
||||
string logo_url = 3;
|
||||
string locale = 4;
|
||||
string appearance = 5;
|
||||
}
|
||||
|
||||
message WorkspaceStorageSetting {
|
||||
// storage_type is the storage type.
|
||||
StorageType storage_type = 1;
|
||||
// The id of actived external storage.
|
||||
optional int32 actived_external_storage_id = 2;
|
||||
// The template of local storage path.
|
||||
// e.g. assets/{timestamp}_{filename}
|
||||
string local_storage_path_template = 3;
|
||||
// The max upload size in megabytes.
|
||||
int64 upload_size_limit_mb = 4;
|
||||
|
||||
enum StorageType {
|
||||
STORAGE_TYPE_UNSPECIFIED = 0;
|
||||
// STORAGE_TYPE_DATABASE is the database storage type.
|
||||
STORAGE_TYPE_DATABASE = 1;
|
||||
// STORAGE_TYPE_LOCAL is the local storage type.
|
||||
STORAGE_TYPE_LOCAL = 2;
|
||||
// STORAGE_TYPE_EXTERNAL is the external storage type.
|
||||
STORAGE_TYPE_EXTERNAL = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message WorkspaceMemoRelatedSetting {
|
||||
// disallow_public_share disallows set memo as public visible.
|
||||
bool disallow_public_visible = 1;
|
||||
// display_with_update_time orders and displays memo with update time.
|
||||
bool display_with_update_time = 2;
|
||||
}
|
||||
|
||||
message ListWorkspaceSettingsRequest {}
|
||||
|
||||
message ListWorkspaceSettingsResponse {
|
||||
repeated WorkspaceSetting settings = 1;
|
||||
}
|
||||
|
||||
message GetWorkspaceSettingRequest {
|
||||
// The resource name of the workspace setting.
|
||||
// Format: settings/{setting}
|
||||
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
message SetWorkspaceSettingRequest {
|
||||
// setting is the setting to update.
|
||||
WorkspaceSetting setting = 1;
|
||||
}
|
Reference in New Issue
Block a user