slash-e/proto/store/user_setting.proto
2023-09-03 10:43:28 +08:00

43 lines
853 B
Protocol Buffer

syntax = "proto3";
package slash.store;
option go_package = "gen/store";
message UserSetting {
int32 user_id = 1;
UserSettingKey key = 2;
oneof value {
AccessTokensUserSetting access_tokens = 3;
LocaleUserSetting locale = 4;
}
}
enum UserSettingKey {
USER_SETTING_KEY_UNSPECIFIED = 0;
// Access tokens for the user.
USER_SETTING_ACCESS_TOKENS = 1;
// Locale for the user.
USER_SETTING_LOCALE = 2;
}
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;
}
enum LocaleUserSetting {
LOCALE_USER_SETTING_UNSPECIFIED = 0;
LOCALE_USER_SETTING_EN = 1;
LOCALE_USER_SETTING_ZH = 2;
}