@@ -21,7 +21,7 @@ func NewAuthController(DB *gorm.DB) AuthController {
2121return AuthController {DB }
2222}
2323
24- // SignUp User
24+ //[...] SignUp User
2525func (ac * AuthController )SignUpUser (ctx * gin.Context ) {
2626var payload * models.SignUpInput
2727
@@ -91,6 +91,7 @@ func (ac *AuthController) SignUpUser(ctx *gin.Context) {
9191ctx .JSON (http .StatusCreated , gin.H {"status" :"success" ,"message" :message })
9292}
9393
94+ // [...] SignIn User
9495func (ac * AuthController )SignInUser (ctx * gin.Context ) {
9596var payload * models.SignInInput
9697
@@ -106,6 +107,11 @@ func (ac *AuthController) SignInUser(ctx *gin.Context) {
106107return
107108}
108109
110+ if ! user .Verified {
111+ ctx .JSON (http .StatusForbidden , gin.H {"status" :"fail" ,"message" :"Please verify your email" })
112+ return
113+ }
114+
109115if err := utils .VerifyPassword (user .Password ,payload .Password );err != nil {
110116ctx .JSON (http .StatusBadRequest , gin.H {"status" :"fail" ,"message" :"Invalid email or Password" })
111117return
@@ -125,11 +131,13 @@ func (ac *AuthController) SignInUser(ctx *gin.Context) {
125131ctx .JSON (http .StatusOK , gin.H {"status" :"success" ,"token" :token })
126132}
127133
134+ // [...] SignOut User
128135func (ac * AuthController )LogoutUser (ctx * gin.Context ) {
129136ctx .SetCookie ("token" ,"" ,- 1 ,"/" ,"localhost" ,false ,true )
130137ctx .JSON (http .StatusOK , gin.H {"status" :"success" })
131138}
132139
140+ // [...] Verify Email
133141func (ac * AuthController )VerifyEmail (ctx * gin.Context ) {
134142
135143code := ctx .Params .ByName ("verificationCode" )