slash-e/proto/store/user_setting.proto
2024-07-29 22:03:21 +08:00

40 lines
829 B
Protocol Buffer

syntax = "proto3";
package slash.store;
option go_package = "gen/store";
message UserSetting {
int32 user_id = 1;
UserSettingKey key = 2;
oneof value {
GeneralSetting general = 3;
AccessTokensSetting access_tokens = 4;
}
message GeneralSetting {
string locale = 1;
string color_theme = 2;
}
message AccessTokensSetting {
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; // Nested repeated field
}
}
enum UserSettingKey {
USER_SETTING_KEY_UNSPECIFIED = 0;
// User general settings.
USER_SETTING_GENERAL = 1;
// User access tokens.
USER_SETTING_ACCESS_TOKENS = 2;
}