123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- syntax = "proto3";
- package memos.store;
- option go_package = "gen/store";
- enum WorkspaceSettingKey {
- WORKSPACE_SETTING_KEY_UNSPECIFIED = 0;
- // BASIC is the key for basic settings.
- BASIC = 1;
- // GENERAL is the key for general settings.
- GENERAL = 2;
- // STORAGE is the key for storage settings.
- STORAGE = 3;
- // MEMO_RELATED is the key for memo related settings.
- MEMO_RELATED = 4;
- }
- message WorkspaceSetting {
- WorkspaceSettingKey key = 1;
- oneof value {
- WorkspaceBasicSetting basic_setting = 2;
- WorkspaceGeneralSetting general_setting = 3;
- WorkspaceStorageSetting storage_setting = 4;
- WorkspaceMemoRelatedSetting memo_related_setting = 5;
- }
- }
- message WorkspaceBasicSetting {
- // The secret key for workspace. Mainly used for session management.
- string secret_key = 1;
- // The current schema version of database.
- string schema_version = 2;
- }
- message WorkspaceGeneralSetting {
- // disallow_user_registration disallows user registration.
- bool disallow_user_registration = 1;
- // disallow_password_auth disallows password authentication.
- bool disallow_password_auth = 2;
- // additional_script is the additional script.
- string additional_script = 3;
- // additional_style is the additional style.
- string additional_style = 4;
- // custom_profile is the custom profile.
- WorkspaceCustomProfile custom_profile = 5;
- // week_start_day_offset is the week start day offset from Sunday.
- // 0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday
- // Default is Sunday.
- int32 week_start_day_offset = 6;
- // disallow_change_username disallows changing username.
- bool disallow_change_username = 7;
- // disallow_change_nickname disallows changing nickname.
- bool disallow_change_nickname = 8;
- }
- message WorkspaceCustomProfile {
- string title = 1;
- string description = 2;
- string logo_url = 3;
- string locale = 4;
- string appearance = 5;
- }
- message WorkspaceStorageSetting {
- enum StorageType {
- STORAGE_TYPE_UNSPECIFIED = 0;
- // STORAGE_TYPE_DATABASE is the database storage type.
- DATABASE = 1;
- // STORAGE_TYPE_LOCAL is the local storage type.
- LOCAL = 2;
- // STORAGE_TYPE_S3 is the S3 storage type.
- S3 = 3;
- }
- // storage_type is the storage type.
- StorageType storage_type = 1;
- // The template of file path.
- // e.g. assets/{timestamp}_{filename}
- string filepath_template = 2;
- // The max upload size in megabytes.
- int64 upload_size_limit_mb = 3;
- // The S3 config.
- StorageS3Config s3_config = 4;
- }
- // Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
- message StorageS3Config {
- string access_key_id = 1;
- string access_key_secret = 2;
- string endpoint = 3;
- string region = 4;
- string bucket = 5;
- }
- message WorkspaceMemoRelatedSetting {
- // disallow_public_visibility disallows set memo as public visibility.
- bool disallow_public_visibility = 1;
- // display_with_update_time orders and displays memo with update time.
- bool display_with_update_time = 2;
- // content_length_limit is the limit of content length. Unit is byte.
- int32 content_length_limit = 3;
- // enable_auto_compact enables auto compact for large content.
- bool enable_auto_compact = 4;
- // enable_double_click_edit enables editing on double click.
- bool enable_double_click_edit = 5;
- // enable_link_preview enables links preview.
- bool enable_link_preview = 6;
- // enable_comment enables comment.
- bool enable_comment = 7;
- // enable_location enables setting location for memo.
- bool enable_location = 8;
- // default_visibility set the global memos default visibility.
- string default_visibility = 9;
- // reactions is the list of reactions.
- repeated string reactions = 10;
- // disable markdown shortcuts
- bool disable_markdown_shortcuts = 11;
- }
|