service.xpcool.com/internal/controller/user/auth.go

27 lines
1.0 KiB
Go

package user
import (
"context"
userv1 "service.xpcool.com/api/user/v1"
"service.xpcool.com/internal/model/dto"
"service.xpcool.com/internal/service"
)
type Controller struct{}
func New() *Controller { return &Controller{} }
func (c *Controller) Login(ctx context.Context, req *userv1.LoginReq) (res *userv1.LoginRes, err error) {
p, id, err := service.UserAuth().Login(ctx, dto.UserLoginInput{LoginType: req.LoginType, Code: req.Code, Mobile: req.Mobile, VerifyCode: req.VerifyCode, Account: req.Account, Password: req.Password, Terminal: req.Terminal})
if err != nil {
return nil, err
}
return &userv1.LoginRes{AccessToken: p.AccessToken, RefreshToken: p.RefreshToken, ExpiresIn: p.ExpiresIn, UserID: id}, nil
}
func (c *Controller) Refresh(ctx context.Context, req *userv1.RefreshReq) (res *userv1.RefreshRes, err error) {
p, id, err := service.UserAuth().Refresh(ctx, req.RefreshToken)
if err != nil {
return nil, err
}
return &userv1.RefreshRes{AccessToken: p.AccessToken, RefreshToken: p.RefreshToken, ExpiresIn: p.ExpiresIn, UserID: id}, nil
}