package logic import ( "context" "juwan-backend/app/users/rpc/internal/svc" "juwan-backend/app/users/rpc/pb" "github.com/zeromicro/go-zero/core/logx" ) var USER_TOKEN_TEMP = "jwt:%v" type ValidateTokenLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewValidateTokenLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ValidateTokenLogic { return &ValidateTokenLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } func (l *ValidateTokenLogic) ValidateToken(in *pb.ValidateTokenReq) (*pb.ValidateTokenResp, error) { _, err := l.svcCtx.JwtManager.Valid(l.ctx, in.Token) if err != nil { return nil, err } users, err := l.svcCtx.UsersModelRO.FindOne(l.ctx, in.UserId) if err != nil { return nil, err } return &pb.ValidateTokenResp{ Valid: true, Message: "OK", UserId: in.UserId, RoleType: users.RoleType, }, nil }