From 6247d096d98d16fea30ae78efc78ad1fe6ec2b58 Mon Sep 17 00:00:00 2001 From: le-xuan-quynh Date: Wed, 4 May 2022 14:25:35 +0700 Subject: [PATCH] - fix send mail verify API --- pkg/authorization/endpoints/endpoints.go | 2 +- pkg/authorization/users-service.go | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pkg/authorization/endpoints/endpoints.go b/pkg/authorization/endpoints/endpoints.go index 226acfb..80ace5d 100644 --- a/pkg/authorization/endpoints/endpoints.go +++ b/pkg/authorization/endpoints/endpoints.go @@ -347,6 +347,6 @@ func MakeGetVerifyMailCodeEndpoint(svc authorization.Service) endpoint.Endpoint if err != nil { return nil, err } - return "successfully mailed verification code. Please check your email.", nil + return "Email has been successfully verified", nil } } diff --git a/pkg/authorization/users-service.go b/pkg/authorization/users-service.go index 2231b52..08e4915 100644 --- a/pkg/authorization/users-service.go +++ b/pkg/authorization/users-service.go @@ -131,7 +131,7 @@ func (s *userService) VerifyMail(ctx context.Context, request *VerifyMailRequest return "Email has been successfully verified.", nil } // Get limit data - limitData, err := s.repo.GetLimitData(ctx, user.ID, database.LimitTypeLogin) + limitData, err := s.repo.GetLimitData(ctx, user.ID, database.LimitTypeSendVerifyMail) if err != nil { s.logger.Error("Empty row get limit data", "error", err) } @@ -142,7 +142,7 @@ func (s *userService) VerifyMail(ctx context.Context, request *VerifyMailRequest return cusErr.Error(), cusErr } // Update limit data - err = s.repo.InsertOrUpdateLimitData(ctx, limitData, database.LimitTypeLogin) + err = s.repo.InsertOrUpdateLimitData(ctx, limitData, database.LimitTypeSendVerifyMail) if err != nil { s.logger.Error("Cannot insert or update limit data", "error", err) cusErr := utils.NewErrorResponse(utils.InternalServerError) @@ -181,8 +181,8 @@ func (s *userService) VerifyMail(ctx context.Context, request *VerifyMailRequest return cusErr.Error(), cusErr } // Reset limit data - limitData.NumOfLogin = 0 - err = s.repo.InsertOrUpdateLimitData(ctx, limitData, database.LimitTypeLogin) + limitData.NumOfSendMailVerify = 0 + err = s.repo.InsertOrUpdateLimitData(ctx, limitData, database.LimitTypeSendVerifyMail) if err != nil { s.logger.Error("Cannot reset number of login", "error", err) cusErr := utils.NewErrorResponse(utils.InternalServerError) @@ -315,6 +315,7 @@ func (s *userService) Logout(ctx context.Context, request *LogoutRequest) error user.TokenHash = utils.GenerateRandomString(15) // Generate refreshToken refreshToken, err := s.auth.GenerateRefreshToken(user) + if err != nil { s.logger.Error("Error generating refreshToken", "error", err) cusErr := utils.NewErrorResponse(utils.InternalServerError) @@ -847,6 +848,11 @@ func (s *userService) GetVerifyMailCode(ctx context.Context) error { cusErr := utils.NewErrorResponse(utils.Forbidden) return cusErr } + // Check if user is verified + if user.Verified { + s.logger.Error("Email has been successfully verified") + return nil + } // Get limit data limitData, err := s.repo.GetLimitData(ctx, user.ID, database.LimitTypeSendVerifyMail) if err != nil {