user.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. CompanyName string `json:"company_name"`
  9. }
  10. type CreateUserRequest struct {
  11. Email string `json:"email" form:"required,max=255,email"`
  12. Password string `json:"password" form:"required,max=255"`
  13. FirstName string `json:"first_name" form:"required,max=255"`
  14. LastName string `json:"last_name" form:"required,max=255"`
  15. CompanyName string `json:"company_name" form:"required,max=255"`
  16. ReferralMethod string `json:"referral_method" form:"max=255"`
  17. }
  18. type CreateUserResponse User
  19. type GetAuthenticatedUserResponse User
  20. type LoginUserRequest struct {
  21. Email string `json:"email" form:"required,max=255,email"`
  22. Password string `json:"password" form:"required,max=255"`
  23. }
  24. type LoginUserResponse User
  25. type CLILoginUserRequest struct {
  26. Redirect string `schema:"redirect" form:"required"`
  27. }
  28. type CLILoginExchangeRequest struct {
  29. AuthorizationCode string `json:"authorization_code" form:"required"`
  30. }
  31. type CLILoginExchangeResponse struct {
  32. Token string `json:"token" form:"required"`
  33. }
  34. type InitiateResetUserPasswordRequest struct {
  35. Email string `json:"email" form:"required"`
  36. }
  37. type VerifyTokenFinalizeRequest struct {
  38. TokenID uint `json:"token_id" schema:"token_id" form:"required"`
  39. Token string `json:"token" schema:"token" form:"required"`
  40. }
  41. type VerifyEmailFinalizeRequest struct {
  42. VerifyTokenFinalizeRequest
  43. }
  44. type VerifyResetUserPasswordRequest struct {
  45. VerifyTokenFinalizeRequest
  46. Email string `json:"email" form:"required,max=255,email"`
  47. }
  48. type FinalizeResetUserPasswordRequest struct {
  49. VerifyResetUserPasswordRequest
  50. NewPassword string `json:"new_password" form:"required,max=255"`
  51. }
  52. type ListUserProjectsResponse []*Project
  53. type WelcomeWebhookRequest struct {
  54. Email string `json:"email" schema:"email"`
  55. IsCompany bool `json:"isCompany" schema:"isCompany"`
  56. Company string `json:"company" schema:"company"`
  57. Role string `json:"role" schema:"role"`
  58. Name string `json:"name" schema:"name"`
  59. }
  60. type UpdateUserInfoRequest struct {
  61. FirstName string `json:"first_name" form:"required,max=255"`
  62. LastName string `json:"last_name" form:"required,max=255"`
  63. CompanyName string `json:"company_name" form:"required,max=255"`
  64. }