27 lines
1.0 KiB
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
|
|
}
|