diff --git a/pkg/service/security.go b/pkg/service/security.go index 130f5b0..ade325e 100644 --- a/pkg/service/security.go +++ b/pkg/service/security.go @@ -47,7 +47,24 @@ type UserInfoHandle struct { ctx *context.Context sessionId string } +type UserInfo struct { + UserID uint64 + Username string + AvatarURL string +} +func (usr UserInfoHandle) GetUserInfo() (userInfo UserInfo, err error) { + session, err := usr.svc.Client.GetSessionUser(*usr.ctx, &auth.IdMessage{ + SessionID: usr.sessionId, + }) + if err != nil { + return userInfo, err + } + userInfo.UserID = session.UserID + userInfo.Username = session.Username + userInfo.AvatarURL = session.AvatarURL + return userInfo, nil +} func (usr UserInfoHandle) GetUserID() (uint64, error) { session, err := usr.svc.Client.GetSessionUser(*usr.ctx, &auth.IdMessage{ SessionID: usr.sessionId,