user.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package types
  2. type User struct {
  3. ID uint `json:"id"`
  4. Email string `json:"email"`
  5. EmailVerified bool `json:"email_verified"`
  6. FirstName string `json:"first_name"`
  7. LastName string `json:"last_name"`
  8. }
  9. type CreateUserRequest struct {
  10. Email string `json:"email" form:"required,max=255,email"`
  11. Password string `json:"password" form:"required,max=255"`
  12. FirstName string `json:"first_name" form:"required,max=255"`
  13. LastName string `json:"last_name" form:"required,max=255"`
  14. }
  15. type CreateUserResponse User
  16. type GetAuthenticatedUserResponse User
  17. type LoginUserRequest struct {
  18. Email string `json:"email" form:"required,max=255,email"`
  19. Password string `json:"password" form:"required,max=255"`
  20. }
  21. type LoginUserResponse User
  22. type CLILoginUserRequest struct {
  23. Redirect string `schema:"redirect" form:"required"`
  24. }
  25. type CLILoginExchangeRequest struct {
  26. AuthorizationCode string `json:"authorization_code" form:"required"`
  27. }
  28. type CLILoginExchangeResponse struct {
  29. Token string `json:"token" form:"required"`
  30. }
  31. type InitiateResetUserPasswordRequest struct {
  32. Email string `json:"email" form:"required"`
  33. }
  34. type VerifyTokenFinalizeRequest struct {
  35. TokenID uint `json:"token_id" schema:"token_id" form:"required"`
  36. Token string `json:"token" schema:"token" form:"required"`
  37. }
  38. type VerifyEmailFinalizeRequest struct {
  39. VerifyTokenFinalizeRequest
  40. }
  41. type VerifyResetUserPasswordRequest struct {
  42. VerifyTokenFinalizeRequest
  43. Email string `json:"email" form:"required,max=255,email"`
  44. }
  45. type FinalizeResetUserPasswordRequest struct {
  46. VerifyResetUserPasswordRequest
  47. NewPassword string `json:"new_password" form:"required,max=255"`
  48. }
  49. type ListUserProjectsResponse []*Project
  50. type WelcomeWebhookRequest struct {
  51. Email string `json:"email" schema:"email"`
  52. IsCompany bool `json:"isCompany" schema:"isCompany"`
  53. Company string `json:"company" schema:"company"`
  54. Role string `json:"role" schema:"role"`
  55. Name string `json:"name" schema:"name"`
  56. }