feat: wrap err with original error
This commit is contained in:
@@ -2,9 +2,9 @@ package auth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
@@ -64,7 +64,7 @@ func (srv Service) GetAuthCodeURL(ctx context.Context, req *pb.GetCodeURLRequest
|
||||
func (srv Service) ExchangeToken(ctx context.Context, req *pb.ExchangeTokenRequest) (*pb.ExchangeTokenResponse, error) {
|
||||
resp, err := srv.client.ExchangeToken(ctx, req.Code)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "exchange token from weixin failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "exchange token from weixin failed").Error())
|
||||
}
|
||||
|
||||
var token Token
|
||||
@@ -76,7 +76,7 @@ func (srv Service) ExchangeToken(ctx context.Context, req *pb.ExchangeTokenReque
|
||||
}
|
||||
token.Assign(resp)
|
||||
if err := srv.db.Save(&token).Error; err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "save token to database failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "save token to database failed").Error())
|
||||
}
|
||||
|
||||
go srv.PublishEvent(ctx, "auth.token.exchanged", &token)
|
||||
@@ -96,13 +96,13 @@ func (srv Service) RefreshToken(ctx context.Context, req *pb.RefreshTokenRequest
|
||||
|
||||
resp, err := srv.client.RefreshToken(ctx, token.RefreshToken)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "refresh refreshed token from weixin failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "refresh refreshed token from weixin failed").Error())
|
||||
}
|
||||
|
||||
token.Assign(resp)
|
||||
|
||||
if err := srv.db.Save(&token).Error; err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "save refreshed token to database failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "save refreshed token to database failed").Error())
|
||||
}
|
||||
|
||||
go srv.PublishEvent(ctx, "auth.token.refreshed", &token)
|
||||
@@ -127,12 +127,12 @@ func (srv Service) GetUserinfo(ctx context.Context, req *pb.GetUserinfoRequest)
|
||||
|
||||
resp, err := srv.client.GetUserinfo(ctx, token.AccessToken, req.OpenId, mpauth.Lang(req.Lang.String()))
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "get userinfo token from weixin failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "get userinfo token from weixin failed").Error())
|
||||
}
|
||||
|
||||
userinfo = Userinfo{Userinfo: *resp}
|
||||
if err := srv.db.Create(&userinfo).Error; err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "save userinfo to database failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "save userinfo to database failed").Error())
|
||||
}
|
||||
|
||||
go srv.PublishEvent(ctx, "auth.userinfo.created", &userinfo)
|
||||
@@ -160,12 +160,12 @@ func (srv Service) SyncUserinfo(ctx context.Context, req *pb.SyncUserinfoRequest
|
||||
|
||||
resp, err := srv.client.GetUserinfo(ctx, token.AccessToken, req.OpenId, mpauth.Lang(req.Lang.String()))
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "get userinfo token from weixin failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "get userinfo token from weixin failed").Error())
|
||||
}
|
||||
|
||||
userinfo = Userinfo{Userinfo: *resp}
|
||||
if err := srv.db.Save(&userinfo).Error; err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "sync userinfo and save to database failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "sync userinfo and save to database failed").Error())
|
||||
}
|
||||
|
||||
go srv.PublishEvent(ctx, "auth.userinfo.synchronized", &userinfo)
|
||||
@@ -188,13 +188,13 @@ func (srv Service) GetClientCredential(ctx context.Context, _ *emptypb.Empty) (*
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) || cred.Expired() {
|
||||
resp, err := srv.client.GetClientCredential(ctx)
|
||||
if err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "get client credential token from weixin failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "get client credential token from weixin failed").Error())
|
||||
}
|
||||
cred = ClientCredential{
|
||||
ClientCredential: *resp,
|
||||
}
|
||||
if err := srv.db.Create(&cred).Error; err != nil {
|
||||
return nil, status.Errorf(codes.Internal, "save client credential to database failed")
|
||||
return nil, status.Errorf(codes.Internal, errors.Wrap(err, "save client credential to database failed").Error())
|
||||
}
|
||||
|
||||
go srv.PublishEvent(ctx, "auth.clientcredential.created", &cred)
|
||||
|
Reference in New Issue
Block a user