From 4733e4796d5e26009b667a9fcd6e129b780da4be Mon Sep 17 00:00:00 2001 From: steven Date: Sun, 3 Sep 2023 10:43:28 +0800 Subject: [PATCH] chore: update user setting key --- api/v1/auth.go | 4 +- api/v2/user_service.go | 8 +-- .../types/proto/store/user_setting_pb.d.ts | 17 +++-- frontend/types/proto/store/user_setting_pb.js | 4 +- proto/gen/store/README.md | 12 ++-- proto/gen/store/user_setting.pb.go | 68 ++++++++++--------- proto/store/user_setting.proto | 11 +-- store/user_setting.go | 27 ++++++-- test/store/user_setting_test.go | 28 ++++---- 9 files changed, 105 insertions(+), 74 deletions(-) diff --git a/api/v1/auth.go b/api/v1/auth.go index bd92d76..c9985e1 100644 --- a/api/v1/auth.go +++ b/api/v1/auth.go @@ -140,8 +140,8 @@ func (s *APIV1Service) UpsertAccessTokenToStore(ctx context.Context, user *store if _, err := s.Store.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, - Value: &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: &storepb.AccessTokensUserSetting{ + Value: &storepb.UserSetting_AccessTokens{ + AccessTokens: &storepb.AccessTokensUserSetting{ AccessTokens: userAccessTokens, }, }, diff --git a/api/v2/user_service.go b/api/v2/user_service.go index c413921..b4ac439 100644 --- a/api/v2/user_service.go +++ b/api/v2/user_service.go @@ -229,8 +229,8 @@ func (s *UserService) DeleteUserAccessToken(ctx context.Context, request *apiv2p if _, err := s.Store.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: userID, Key: storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, - Value: &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: &storepb.AccessTokensUserSetting{ + Value: &storepb.UserSetting_AccessTokens{ + AccessTokens: &storepb.AccessTokensUserSetting{ AccessTokens: updatedUserAccessTokens, }, }, @@ -254,8 +254,8 @@ func (s *UserService) UpsertAccessTokenToStore(ctx context.Context, user *store. if _, err := s.Store.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, - Value: &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: &storepb.AccessTokensUserSetting{ + Value: &storepb.UserSetting_AccessTokens{ + AccessTokens: &storepb.AccessTokensUserSetting{ AccessTokens: userAccessTokens, }, }, diff --git a/frontend/types/proto/store/user_setting_pb.d.ts b/frontend/types/proto/store/user_setting_pb.d.ts index e0629bf..a44ab4d 100644 --- a/frontend/types/proto/store/user_setting_pb.d.ts +++ b/frontend/types/proto/store/user_setting_pb.d.ts @@ -16,11 +16,15 @@ export declare enum UserSettingKey { USER_SETTING_KEY_UNSPECIFIED = 0, /** + * Access tokens for the user. + * * @generated from enum value: USER_SETTING_ACCESS_TOKENS = 1; */ USER_SETTING_ACCESS_TOKENS = 1, /** + * Locale for the user. + * * @generated from enum value: USER_SETTING_LOCALE = 2; */ USER_SETTING_LOCALE = 2, @@ -65,16 +69,16 @@ export declare class UserSetting extends Message { */ value: { /** - * @generated from field: slash.store.AccessTokensUserSetting access_tokens_user_setting = 3; + * @generated from field: slash.store.AccessTokensUserSetting access_tokens = 3; */ value: AccessTokensUserSetting; - case: "accessTokensUserSetting"; + case: "accessTokens"; } | { /** - * @generated from field: slash.store.LocaleUserSetting locale_user_setting = 4; + * @generated from field: slash.store.LocaleUserSetting locale = 4; */ value: LocaleUserSetting; - case: "localeUserSetting"; + case: "locale"; } | { case: undefined; value?: undefined }; constructor(data?: PartialMessage); @@ -121,11 +125,16 @@ export declare class AccessTokensUserSetting extends Message { /** + * The access token is a JWT token. + * Including expiration time, issuer, etc. + * * @generated from field: string access_token = 1; */ accessToken: string; /** + * A description for the access token. + * * @generated from field: string description = 2; */ description: string; diff --git a/frontend/types/proto/store/user_setting_pb.js b/frontend/types/proto/store/user_setting_pb.js index 7962bb6..4791ad6 100644 --- a/frontend/types/proto/store/user_setting_pb.js +++ b/frontend/types/proto/store/user_setting_pb.js @@ -37,8 +37,8 @@ export const UserSetting = proto3.makeMessageType( () => [ { no: 1, name: "user_id", kind: "scalar", T: 5 /* ScalarType.INT32 */ }, { no: 2, name: "key", kind: "enum", T: proto3.getEnumType(UserSettingKey) }, - { no: 3, name: "access_tokens_user_setting", kind: "message", T: AccessTokensUserSetting, oneof: "value" }, - { no: 4, name: "locale_user_setting", kind: "enum", T: proto3.getEnumType(LocaleUserSetting), oneof: "value" }, + { no: 3, name: "access_tokens", kind: "message", T: AccessTokensUserSetting, oneof: "value" }, + { no: 4, name: "locale", kind: "enum", T: proto3.getEnumType(LocaleUserSetting), oneof: "value" }, ], ); diff --git a/proto/gen/store/README.md b/proto/gen/store/README.md index cd68551..b796d1c 100644 --- a/proto/gen/store/README.md +++ b/proto/gen/store/README.md @@ -196,8 +196,8 @@ | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| access_token | [string](#string) | | | -| description | [string](#string) | | | +| access_token | [string](#string) | | The access token is a JWT token. Including expiration time, issuer, etc. | +| description | [string](#string) | | A description for the access token. | @@ -214,8 +214,8 @@ | ----- | ---- | ----- | ----------- | | user_id | [int32](#int32) | | | | key | [UserSettingKey](#slash-store-UserSettingKey) | | | -| access_tokens_user_setting | [AccessTokensUserSetting](#slash-store-AccessTokensUserSetting) | | | -| locale_user_setting | [LocaleUserSetting](#slash-store-LocaleUserSetting) | | | +| access_tokens | [AccessTokensUserSetting](#slash-store-AccessTokensUserSetting) | | | +| locale | [LocaleUserSetting](#slash-store-LocaleUserSetting) | | | @@ -245,8 +245,8 @@ | Name | Number | Description | | ---- | ------ | ----------- | | USER_SETTING_KEY_UNSPECIFIED | 0 | | -| USER_SETTING_ACCESS_TOKENS | 1 | | -| USER_SETTING_LOCALE | 2 | | +| USER_SETTING_ACCESS_TOKENS | 1 | Access tokens for the user. | +| USER_SETTING_LOCALE | 2 | Locale for the user. | diff --git a/proto/gen/store/user_setting.pb.go b/proto/gen/store/user_setting.pb.go index e935cc9..6655258 100644 --- a/proto/gen/store/user_setting.pb.go +++ b/proto/gen/store/user_setting.pb.go @@ -24,8 +24,10 @@ type UserSettingKey int32 const ( UserSettingKey_USER_SETTING_KEY_UNSPECIFIED UserSettingKey = 0 - UserSettingKey_USER_SETTING_ACCESS_TOKENS UserSettingKey = 1 - UserSettingKey_USER_SETTING_LOCALE UserSettingKey = 2 + // Access tokens for the user. + UserSettingKey_USER_SETTING_ACCESS_TOKENS UserSettingKey = 1 + // Locale for the user. + UserSettingKey_USER_SETTING_LOCALE UserSettingKey = 2 ) // Enum value maps for UserSettingKey. @@ -127,8 +129,8 @@ type UserSetting struct { Key UserSettingKey `protobuf:"varint,2,opt,name=key,proto3,enum=slash.store.UserSettingKey" json:"key,omitempty"` // Types that are assignable to Value: // - // *UserSetting_AccessTokensUserSetting - // *UserSetting_LocaleUserSetting + // *UserSetting_AccessTokens + // *UserSetting_Locale Value isUserSetting_Value `protobuf_oneof:"value"` } @@ -185,16 +187,16 @@ func (m *UserSetting) GetValue() isUserSetting_Value { return nil } -func (x *UserSetting) GetAccessTokensUserSetting() *AccessTokensUserSetting { - if x, ok := x.GetValue().(*UserSetting_AccessTokensUserSetting); ok { - return x.AccessTokensUserSetting +func (x *UserSetting) GetAccessTokens() *AccessTokensUserSetting { + if x, ok := x.GetValue().(*UserSetting_AccessTokens); ok { + return x.AccessTokens } return nil } -func (x *UserSetting) GetLocaleUserSetting() LocaleUserSetting { - if x, ok := x.GetValue().(*UserSetting_LocaleUserSetting); ok { - return x.LocaleUserSetting +func (x *UserSetting) GetLocale() LocaleUserSetting { + if x, ok := x.GetValue().(*UserSetting_Locale); ok { + return x.Locale } return LocaleUserSetting_LOCALE_USER_SETTING_UNSPECIFIED } @@ -203,17 +205,17 @@ type isUserSetting_Value interface { isUserSetting_Value() } -type UserSetting_AccessTokensUserSetting struct { - AccessTokensUserSetting *AccessTokensUserSetting `protobuf:"bytes,3,opt,name=access_tokens_user_setting,json=accessTokensUserSetting,proto3,oneof"` +type UserSetting_AccessTokens struct { + AccessTokens *AccessTokensUserSetting `protobuf:"bytes,3,opt,name=access_tokens,json=accessTokens,proto3,oneof"` } -type UserSetting_LocaleUserSetting struct { - LocaleUserSetting LocaleUserSetting `protobuf:"varint,4,opt,name=locale_user_setting,json=localeUserSetting,proto3,enum=slash.store.LocaleUserSetting,oneof"` +type UserSetting_Locale struct { + Locale LocaleUserSetting `protobuf:"varint,4,opt,name=locale,proto3,enum=slash.store.LocaleUserSetting,oneof"` } -func (*UserSetting_AccessTokensUserSetting) isUserSetting_Value() {} +func (*UserSetting_AccessTokens) isUserSetting_Value() {} -func (*UserSetting_LocaleUserSetting) isUserSetting_Value() {} +func (*UserSetting_Locale) isUserSetting_Value() {} type AccessTokensUserSetting struct { state protoimpl.MessageState @@ -267,7 +269,10 @@ type AccessTokensUserSetting_AccessToken struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The access token is a JWT token. + // Including expiration time, issuer, etc. AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + // A description for the access token. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` } @@ -322,24 +327,21 @@ var File_store_user_setting_proto protoreflect.FileDescriptor var file_store_user_setting_proto_rawDesc = []byte{ 0x0a, 0x18, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x73, 0x6c, 0x61, 0x73, - 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, + 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x63, 0x0a, 0x1a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x17, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1e, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x4b, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0c, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x06, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x73, + 0x6c, 0x61, 0x73, 0x68, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, @@ -402,8 +404,8 @@ var file_store_user_setting_proto_goTypes = []interface{}{ } var file_store_user_setting_proto_depIdxs = []int32{ 0, // 0: slash.store.UserSetting.key:type_name -> slash.store.UserSettingKey - 3, // 1: slash.store.UserSetting.access_tokens_user_setting:type_name -> slash.store.AccessTokensUserSetting - 1, // 2: slash.store.UserSetting.locale_user_setting:type_name -> slash.store.LocaleUserSetting + 3, // 1: slash.store.UserSetting.access_tokens:type_name -> slash.store.AccessTokensUserSetting + 1, // 2: slash.store.UserSetting.locale:type_name -> slash.store.LocaleUserSetting 4, // 3: slash.store.AccessTokensUserSetting.access_tokens:type_name -> slash.store.AccessTokensUserSetting.AccessToken 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type @@ -456,8 +458,8 @@ func file_store_user_setting_proto_init() { } } file_store_user_setting_proto_msgTypes[0].OneofWrappers = []interface{}{ - (*UserSetting_AccessTokensUserSetting)(nil), - (*UserSetting_LocaleUserSetting)(nil), + (*UserSetting_AccessTokens)(nil), + (*UserSetting_Locale)(nil), } type x struct{} out := protoimpl.TypeBuilder{ diff --git a/proto/store/user_setting.proto b/proto/store/user_setting.proto index 80423c4..7a0c836 100644 --- a/proto/store/user_setting.proto +++ b/proto/store/user_setting.proto @@ -10,23 +10,26 @@ message UserSetting { UserSettingKey key = 2; oneof value { - AccessTokensUserSetting access_tokens_user_setting = 3; + AccessTokensUserSetting access_tokens = 3; - LocaleUserSetting locale_user_setting = 4; + 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; diff --git a/store/user_setting.go b/store/user_setting.go index fff3532..aa85c4a 100644 --- a/store/user_setting.go +++ b/store/user_setting.go @@ -26,13 +26,13 @@ func (s *Store) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetti ` var valueString string if upsert.Key == storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS { - valueBytes, err := protojson.Marshal(upsert.GetAccessTokensUserSetting()) + valueBytes, err := protojson.Marshal(upsert.GetAccessTokens()) if err != nil { return nil, err } valueString = string(valueBytes) } else if upsert.Key == storepb.UserSettingKey_USER_SETTING_LOCALE { - valueString = upsert.GetLocaleUserSetting().String() + valueString = upsert.GetLocale().String() } else { return nil, errors.New("invalid user setting key") } @@ -86,9 +86,15 @@ func (s *Store) ListUserSettings(ctx context.Context, find *FindUserSetting) ([] if err := protojson.Unmarshal([]byte(valueString), accessTokensUserSetting); err != nil { return nil, err } - userSetting.Value = &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: accessTokensUserSetting, + userSetting.Value = &storepb.UserSetting_AccessTokens{ + AccessTokens: accessTokensUserSetting, } + } else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_LOCALE { + userSetting.Value = &storepb.UserSetting_Locale{ + Locale: convertUserSettingLocaleFromString(valueString), + } + } else { + return nil, errors.New("invalid user setting key") } userSettingList = append(userSettingList, userSetting) } @@ -156,6 +162,17 @@ func (s *Store) GetUserAccessTokens(ctx context.Context, userID int32) ([]*store return []*storepb.AccessTokensUserSetting_AccessToken{}, nil } - accessTokensUserSetting := userSetting.GetAccessTokensUserSetting() + accessTokensUserSetting := userSetting.GetAccessTokens() return accessTokensUserSetting.AccessTokens, nil } + +func convertUserSettingLocaleFromString(s string) storepb.LocaleUserSetting { + switch s { + case "LOCALE_USER_SETTING_EN": + return storepb.LocaleUserSetting_LOCALE_USER_SETTING_EN + case "LOCALE_USER_SETTING_ZH": + return storepb.LocaleUserSetting_LOCALE_USER_SETTING_ZH + default: + return storepb.LocaleUserSetting_LOCALE_USER_SETTING_UNSPECIFIED + } +} diff --git a/test/store/user_setting_test.go b/test/store/user_setting_test.go index 9738112..528de9b 100644 --- a/test/store/user_setting_test.go +++ b/test/store/user_setting_test.go @@ -24,8 +24,8 @@ func TestUserSettingStore(t *testing.T) { accessTokensUserSetting, err := ts.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, - Value: &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: &storepb.AccessTokensUserSetting{ + Value: &storepb.UserSetting_AccessTokens{ + AccessTokens: &storepb.AccessTokensUserSetting{ AccessTokens: []*storepb.AccessTokensUserSetting_AccessToken{ { AccessToken: "test_access_token", @@ -38,7 +38,7 @@ func TestUserSettingStore(t *testing.T) { require.NotNil(t, accessTokensUserSetting) require.Equal(t, storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, accessTokensUserSetting.Key) require.Equal(t, user.ID, accessTokensUserSetting.UserId) - require.Equal(t, 1, len(accessTokensUserSetting.GetAccessTokensUserSetting().AccessTokens)) + require.Equal(t, 1, len(accessTokensUserSetting.GetAccessTokens().AccessTokens)) userSettings, err = ts.ListUserSettings(ctx, &store.FindUserSetting{ UserID: &user.ID, }) @@ -51,13 +51,13 @@ func TestUserSettingStore(t *testing.T) { }) require.NoError(t, err) require.NotNil(t, accessTokensUserSetting) - require.Equal(t, 1, len(accessTokensUserSetting.GetAccessTokensUserSetting().AccessTokens)) - require.Equal(t, "test_access_token", accessTokensUserSetting.GetAccessTokensUserSetting().AccessTokens[0].AccessToken) + require.Equal(t, 1, len(accessTokensUserSetting.GetAccessTokens().AccessTokens)) + require.Equal(t, "test_access_token", accessTokensUserSetting.GetAccessTokens().AccessTokens[0].AccessToken) accessTokensUserSetting, err = ts.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_ACCESS_TOKENS, - Value: &storepb.UserSetting_AccessTokensUserSetting{ - AccessTokensUserSetting: &storepb.AccessTokensUserSetting{ + Value: &storepb.UserSetting_AccessTokens{ + AccessTokens: &storepb.AccessTokensUserSetting{ AccessTokens: []*storepb.AccessTokensUserSetting_AccessToken{ { AccessToken: "test_access_token", @@ -71,27 +71,27 @@ func TestUserSettingStore(t *testing.T) { }) require.NoError(t, err) require.NotNil(t, accessTokensUserSetting) - require.Equal(t, 2, len(accessTokensUserSetting.GetAccessTokensUserSetting().AccessTokens)) + require.Equal(t, 2, len(accessTokensUserSetting.GetAccessTokens().AccessTokens)) // Test for locale user setting. localeUserSetting, err := ts.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_LOCALE, - Value: &storepb.UserSetting_LocaleUserSetting{ - LocaleUserSetting: storepb.LocaleUserSetting_LOCALE_USER_SETTING_ZH, + Value: &storepb.UserSetting_Locale{ + Locale: storepb.LocaleUserSetting_LOCALE_USER_SETTING_ZH, }, }) require.NoError(t, err) require.NotNil(t, localeUserSetting) require.Equal(t, storepb.UserSettingKey_USER_SETTING_LOCALE, localeUserSetting.Key) - require.Equal(t, storepb.LocaleUserSetting_LOCALE_USER_SETTING_ZH, localeUserSetting.GetLocaleUserSetting()) + require.Equal(t, storepb.LocaleUserSetting_LOCALE_USER_SETTING_ZH, localeUserSetting.GetLocale()) localeUserSetting, err = ts.UpsertUserSetting(ctx, &storepb.UserSetting{ UserId: user.ID, Key: storepb.UserSettingKey_USER_SETTING_LOCALE, - Value: &storepb.UserSetting_LocaleUserSetting{ - LocaleUserSetting: storepb.LocaleUserSetting_LOCALE_USER_SETTING_EN, + Value: &storepb.UserSetting_Locale{ + Locale: storepb.LocaleUserSetting_LOCALE_USER_SETTING_EN, }, }) require.NoError(t, err) - require.Equal(t, storepb.LocaleUserSetting_LOCALE_USER_SETTING_EN, localeUserSetting.GetLocaleUserSetting()) + require.Equal(t, storepb.LocaleUserSetting_LOCALE_USER_SETTING_EN, localeUserSetting.GetLocale()) }