syntax = "proto3"; package memos.store; option go_package = "gen/store"; message UserSetting { int32 user_id = 1; UserSettingKey key = 2; oneof value { AccessTokensUserSetting access_tokens = 3; string locale = 4; string appearance = 5; string memo_visibility = 6; string telegram_user_id = 7; bool compact_view = 8; } } enum UserSettingKey { USER_SETTING_KEY_UNSPECIFIED = 0; // Access tokens for the user. USER_SETTING_ACCESS_TOKENS = 1; // The locale of the user. USER_SETTING_LOCALE = 2; // The appearance of the user. USER_SETTING_APPEARANCE = 3; // The visibility of the memo. USER_SETTING_MEMO_VISIBILITY = 4; // The telegram user id of the user. USER_SETTING_TELEGRAM_USER_ID = 5; // The compact view for a memo. USER_SETTING_COMPACT_VIEW = 6; } message AccessTokensUserSetting { message AccessToken { // The access token is a JWT token. // Including expiration time, issuer, etc. string access_token = 1; // A description for the access token. string description = 2; } repeated AccessToken access_tokens = 1; }