MCPcopy
hub / github.com/apache/answer / GetUserCacheInfo

Method GetUserCacheInfo

internal/service/auth/auth.go:63–91  ·  view source on GitHub ↗
(ctx context.Context, accessToken string)

Source from the content-addressed store, hash-verified

61}
62
63func (as *AuthService) GetUserCacheInfo(ctx context.Context, accessToken string) (userInfo *entity.UserCacheInfo, err error) {
64 userCacheInfo, err := as.authRepo.GetUserCacheInfo(ctx, accessToken)
65 if err != nil {
66 return nil, err
67 }
68 if userCacheInfo == nil {
69 return nil, nil
70 }
71 cacheInfo, _ := as.authRepo.GetUserStatus(ctx, userCacheInfo.UserID)
72 if cacheInfo != nil {
73 userCacheInfo.UserStatus = cacheInfo.UserStatus
74 userCacheInfo.EmailStatus = cacheInfo.EmailStatus
75 userCacheInfo.RoleID = cacheInfo.RoleID
76 // update current user cache info
77 err := as.authRepo.SetUserCacheInfo(ctx, accessToken, userCacheInfo.VisitToken, userCacheInfo)
78 if err != nil {
79 return nil, err
80 }
81 }
82
83 // try to get user status from user center
84 uc, ok := plugin.GetUserCenter()
85 if ok && len(userCacheInfo.ExternalID) > 0 {
86 if userStatus := uc.UserStatus(userCacheInfo.ExternalID); userStatus != plugin.UserStatusAvailable {
87 userCacheInfo.UserStatus = int(userStatus)
88 }
89 }
90 return userCacheInfo, nil
91}
92
93func (as *AuthService) SetUserCacheInfo(ctx context.Context, userInfo *entity.UserCacheInfo) (
94 accessToken string, visitToken string, err error) {

Callers 1

GetAdminUserCacheInfoMethod · 0.95

Calls 5

GetUserCenterFunction · 0.92
UserStatusMethod · 0.80
GetUserCacheInfoMethod · 0.65
GetUserStatusMethod · 0.65
SetUserCacheInfoMethod · 0.65

Tested by

no test coverage detected