account.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package account
  2. import (
  3. "context"
  4. "github.com/gogf/gf/contrib/rpc/grpcx/v2"
  5. "google.golang.org/protobuf/types/known/timestamppb"
  6. v1 "proxima/app/user/api/account/v1"
  7. "proxima/app/user/api/pbentity"
  8. "proxima/app/user/internal/logic/account"
  9. )
  10. type Controller struct {
  11. v1.UnimplementedAccountServer
  12. }
  13. func Register(s *grpcx.GrpcServer) {
  14. v1.RegisterAccountServer(s.Server, &Controller{})
  15. }
  16. func (*Controller) UserRegister(ctx context.Context, req *v1.UserRegisterReq) (res *v1.UserRegisterRes, err error) {
  17. id, err := account.Register(ctx)
  18. if err != nil {
  19. return nil, err
  20. }
  21. return &v1.UserRegisterRes{
  22. Id: int32(id),
  23. }, nil
  24. }
  25. func (*Controller) UserLogin(ctx context.Context, req *v1.UserLoginReq) (res *v1.UserLoginRes, err error) {
  26. token, err := account.Login(ctx)
  27. if err != nil {
  28. return nil, err
  29. }
  30. return &v1.UserLoginRes{
  31. Token: token,
  32. }, nil
  33. }
  34. func (*Controller) UserInfo(ctx context.Context, req *v1.UserInfoReq) (res *v1.UserInfoRes, err error) {
  35. data, err := account.Info(ctx, req.Token)
  36. if err != nil {
  37. return nil, err
  38. }
  39. return &v1.UserInfoRes{
  40. User: &pbentity.Users{
  41. Id: uint32(data.Id),
  42. Username: data.Username,
  43. Password: data.Password,
  44. Email: data.Email,
  45. CreatedAt: timestamppb.New(data.CreatedAt.Time),
  46. UpdatedAt: timestamppb.New(data.UpdatedAt.Time),
  47. },
  48. }, nil
  49. }