@@ -8,15 +8,17 @@ import (
88
99// 👈 SignUpInput struct
1010type SignUpInput struct {
11- Name string `json:"name" bson:"name" binding:"required"`
12- Email string `json:"email" bson:"email" binding:"required"`
13- Password string `json:"password" bson:"password" binding:"required,min=8"`
14- PasswordConfirm string `json:"passwordConfirm" bson:"passwordConfirm,omitempty" binding:"required"`
15- Role string `json:"role" bson:"role"`
16- VerificationCode string `json:"verificationCode,omitempty" bson:"verificationCode,omitempty"`
17- Verified bool `json:"verified" bson:"verified"`
18- CreatedAt time.Time `json:"created_at" bson:"created_at"`
19- UpdatedAt time.Time `json:"updated_at" bson:"updated_at"`
11+ Name string `json:"name" bson:"name" binding:"required"`
12+ Email string `json:"email" bson:"email" binding:"required"`
13+ Password string `json:"password" bson:"password" binding:"required,min=8"`
14+ PasswordConfirm string `json:"passwordConfirm" bson:"passwordConfirm,omitempty" binding:"required"`
15+ Role string `json:"role" bson:"role"`
16+ VerificationCode string `json:"verificationCode,omitempty" bson:"verificationCode,omitempty"`
17+ ResetPasswordToken string `json:"resetPasswordToken,omitempty" bson:"resetPasswordToken,omitempty"`
18+ ResetPasswordAt time.Time `json:"resetPasswordAt,omitempty" bson:"resetPasswordAt,omitempty"`
19+ Verified bool `json:"verified" bson:"verified"`
20+ CreatedAt time.Time `json:"created_at" bson:"created_at"`
21+ UpdatedAt time.Time `json:"updated_at" bson:"updated_at"`
2022}
2123
2224// 👈 SignInInput struct
@@ -27,16 +29,18 @@ type SignInInput struct {
2729
2830// 👈 DBResponse struct
2931type DBResponse struct {
30- ID primitive.ObjectID `json:"id" bson:"_id"`
31- Name string `json:"name" bson:"name"`
32- Email string `json:"email" bson:"email"`
33- Password string `json:"password" bson:"password"`
34- PasswordConfirm string `json:"passwordConfirm,omitempty" bson:"passwordConfirm,omitempty"`
35- Role string `json:"role" bson:"role"`
36- VerificationCode string `json:"verificationCode,omitempty" bson:"verificationCode"`
37- Verified bool `json:"verified" bson:"verified"`
38- CreatedAt time.Time `json:"created_at" bson:"created_at"`
39- UpdatedAt time.Time `json:"updated_at" bson:"updated_at"`
32+ ID primitive.ObjectID `json:"id" bson:"_id"`
33+ Name string `json:"name" bson:"name"`
34+ Email string `json:"email" bson:"email"`
35+ Password string `json:"password" bson:"password"`
36+ PasswordConfirm string `json:"passwordConfirm,omitempty" bson:"passwordConfirm,omitempty"`
37+ Role string `json:"role" bson:"role"`
38+ VerificationCode string `json:"verificationCode,omitempty" bson:"verificationCode"`
39+ ResetPasswordToken string `json:"resetPasswordToken,omitempty" bson:"resetPasswordToken,omitempty"`
40+ ResetPasswordAt time.Time `json:"resetPasswordAt,omitempty" bson:"resetPasswordAt,omitempty"`
41+ Verified bool `json:"verified" bson:"verified"`
42+ CreatedAt time.Time `json:"created_at" bson:"created_at"`
43+ UpdatedAt time.Time `json:"updated_at" bson:"updated_at"`
4044}
4145
4246// 👈 UserResponse struct
@@ -49,6 +53,17 @@ type UserResponse struct {
4953 UpdatedAt time.Time `json:"updated_at" bson:"updated_at"`
5054}
5155
56+ // 👈 ForgotPasswordInput struct
57+ type ForgotPasswordInput struct {
58+ Email string `json:"email" bson:"email" binding:"required"`
59+ }
60+
61+ // 👈 ResetPasswordInput struct
62+ type ResetPasswordInput struct {
63+ Password string `json:"password" bson:"password"`
64+ PasswordConfirm string `json:"passwordConfirm,omitempty" bson:"passwordConfirm,omitempty"`
65+ }
66+
5267func FilteredResponse (user * DBResponse ) UserResponse {
5368 return UserResponse {
5469 ID : user .ID ,
0 commit comments