@@ -27,15 +27,15 @@ func NewAuthRepo(data *data.Data) auth.AuthRepo {
2727
2828// GetUserCacheInfo get user cache info
2929func (ar * authRepo ) GetUserCacheInfo (ctx context.Context , accessToken string ) (userInfo * entity.UserCacheInfo , err error ) {
30- userInfoCache , err := ar .data .Cache .GetString (ctx , constant .UserTokenCacheKey + accessToken )
30+ userInfoCache , exist , err := ar .data .Cache .GetString (ctx , constant .UserTokenCacheKey + accessToken )
3131 if err != nil {
3232 return nil , errors .InternalServer (reason .DatabaseError ).WithError (err ).WithStack ()
3333 }
34- userInfo = & entity.UserCacheInfo {}
35- err = json .Unmarshal ([]byte (userInfoCache ), userInfo )
36- if err != nil {
37- return nil , errors .InternalServer (reason .DatabaseError ).WithError (err ).WithStack ()
34+ if ! exist {
35+ return nil , nil
3836 }
37+ userInfo = & entity.UserCacheInfo {}
38+ _ = json .Unmarshal ([]byte (userInfoCache ), userInfo )
3939 return userInfo , nil
4040}
4141
@@ -81,15 +81,15 @@ func (ar *authRepo) SetUserStatus(ctx context.Context, userID string, userInfo *
8181
8282// GetUserStatus get user status
8383func (ar * authRepo ) GetUserStatus (ctx context.Context , userID string ) (userInfo * entity.UserCacheInfo , err error ) {
84- userInfoCache , err := ar .data .Cache .GetString (ctx , constant .UserStatusChangedCacheKey + userID )
84+ userInfoCache , exist , err := ar .data .Cache .GetString (ctx , constant .UserStatusChangedCacheKey + userID )
8585 if err != nil {
8686 return nil , errors .InternalServer (reason .DatabaseError ).WithError (err ).WithStack ()
8787 }
88- userInfo = & entity.UserCacheInfo {}
89- err = json .Unmarshal ([]byte (userInfoCache ), userInfo )
90- if err != nil {
91- return nil , errors .InternalServer (reason .DatabaseError ).WithError (err ).WithStack ()
88+ if ! exist {
89+ return nil , nil
9290 }
91+ userInfo = & entity.UserCacheInfo {}
92+ _ = json .Unmarshal ([]byte (userInfoCache ), userInfo )
9393 return userInfo , nil
9494}
9595
@@ -104,16 +104,16 @@ func (ar *authRepo) RemoveUserStatus(ctx context.Context, userID string) (err er
104104
105105// GetAdminUserCacheInfo get admin user cache info
106106func (ar * authRepo ) GetAdminUserCacheInfo (ctx context.Context , accessToken string ) (userInfo * entity.UserCacheInfo , err error ) {
107- userInfoCache , err := ar .data .Cache .GetString (ctx , constant .AdminTokenCacheKey + accessToken )
107+ userInfoCache , exist , err := ar .data .Cache .GetString (ctx , constant .AdminTokenCacheKey + accessToken )
108108 if err != nil {
109109 err = errors .InternalServer (reason .DatabaseError ).WithError (err ).WithStack ()
110110 return
111111 }
112- userInfo = & entity.UserCacheInfo {}
113- err = json .Unmarshal ([]byte (userInfoCache ), userInfo )
114- if err != nil {
115- return nil , err
112+ if ! exist {
113+ return nil , nil
116114 }
115+ userInfo = & entity.UserCacheInfo {}
116+ _ = json .Unmarshal ([]byte (userInfoCache ), userInfo )
117117 return userInfo , nil
118118}
119119
@@ -144,7 +144,10 @@ func (ar *authRepo) RemoveAdminUserCacheInfo(ctx context.Context, accessToken st
144144// AddUserTokenMapping add user token mapping
145145func (ar * authRepo ) AddUserTokenMapping (ctx context.Context , userID , accessToken string ) (err error ) {
146146 key := constant .UserTokenMappingCacheKey + userID
147- resp , _ := ar .data .Cache .GetString (ctx , key )
147+ resp , _ , err := ar .data .Cache .GetString (ctx , key )
148+ if err != nil {
149+ return err
150+ }
148151 mapping := make (map [string ]bool , 0 )
149152 if len (resp ) > 0 {
150153 _ = json .Unmarshal ([]byte (resp ), & mapping )
@@ -157,7 +160,10 @@ func (ar *authRepo) AddUserTokenMapping(ctx context.Context, userID, accessToken
157160// RemoveUserTokens Log out all users under this user id
158161func (ar * authRepo ) RemoveUserTokens (ctx context.Context , userID string , remainToken string ) {
159162 key := constant .UserTokenMappingCacheKey + userID
160- resp , _ := ar .data .Cache .GetString (ctx , key )
163+ resp , _ , err := ar .data .Cache .GetString (ctx , key )
164+ if err != nil {
165+ return
166+ }
161167 mapping := make (map [string ]bool , 0 )
162168 if len (resp ) > 0 {
163169 _ = json .Unmarshal ([]byte (resp ), & mapping )
0 commit comments