2
0

user.go 2.4 KB

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