From 72efb480ac19940c4ad276b3e16124ab43c5fb93 Mon Sep 17 00:00:00 2001 From: AzenKain Date: Sun, 12 Apr 2026 07:48:57 +0700 Subject: [PATCH] UPDATE: Fix bug --- internal/models/verification.go | 2 +- internal/services/verificationService.go | 67 +++++++++++++----------- pkg/email/email.go | 2 +- 3 files changed, 37 insertions(+), 34 deletions(-) diff --git a/internal/models/verification.go b/internal/models/verification.go index 5006c88..d9364de 100644 --- a/internal/models/verification.go +++ b/internal/models/verification.go @@ -23,6 +23,7 @@ type UserVerificationEntity struct { type UserVerificationStorageEntity struct { Email string `json:"email"` + Name string `json:"name"` Status constants.StatusType `json:"status"` ReviewNote string `json:"review_note"` } @@ -76,4 +77,3 @@ func UserVerificationsEntitiesToResponse(entities []*UserVerificationEntity) []* } return responses } - diff --git a/internal/services/verificationService.go b/internal/services/verificationService.go index a8cada5..fe25bc9 100644 --- a/internal/services/verificationService.go +++ b/internal/services/verificationService.go @@ -329,50 +329,53 @@ func (v *verificationService) UpdateStatusVerification(ctx context.Context, user data := &models.UserVerificationStorageEntity{ Email: userVerification.Email, + Name: userVerification.Profile.DisplayName, ReviewNote: dto.ReviewNote, Status: statusType, } - roleIdList := make([]pgtype.UUID, 0) - userVerification.Roles = append(userVerification.Roles, historianRole.ToRoleSimple()) + if statusType == constants.StatusApproved { + roleIdList := make([]pgtype.UUID, 0) + userVerification.Roles = append(userVerification.Roles, historianRole.ToRoleSimple()) - roleIdList = append(roleIdList, historianRoleID) + roleIdList = append(roleIdList, historianRoleID) - for _, role := range userVerification.Roles { - roleID, err := convert.StringToUUID(role.ID) - if err != nil { - continue + for _, role := range userVerification.Roles { + roleID, err := convert.StringToUUID(role.ID) + if err != nil { + continue + } + roleIdList = append(roleIdList, roleID) } - roleIdList = append(roleIdList, roleID) - } - err = v.roleRepo.BulkDeleteRolesFromUser(ctx, userVerificationUUID) - if err != nil { - return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) - } + err = v.roleRepo.BulkDeleteRolesFromUser(ctx, userVerificationUUID) + if err != nil { + return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) + } - err = v.roleRepo.CreateUserRole(ctx, sqlc.CreateUserRoleParams{ - UserID: userVerificationUUID, - Column2: roleIdList, - }) - if err != nil { - return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) - } + err = v.roleRepo.CreateUserRole(ctx, sqlc.CreateUserRoleParams{ + UserID: userVerificationUUID, + Column2: roleIdList, + }) + if err != nil { + return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) + } - err = v.userRepo.UpdateTokenVersion(ctx, sqlc.UpdateTokenVersionParams{ - ID: userVerificationUUID, - TokenVersion: userVerification.TokenVersion + 1, - }) - if err != nil { - return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) - } - userVerification.TokenVersion += 1 + err = v.userRepo.UpdateTokenVersion(ctx, sqlc.UpdateTokenVersionParams{ + ID: userVerificationUUID, + TokenVersion: userVerification.TokenVersion + 1, + }) + if err != nil { + return nil, fiber.NewError(fiber.StatusInternalServerError, err.Error()) + } + userVerification.TokenVersion += 1 - mapCache := map[string]any{ - fmt.Sprintf("user:email:%s", userVerification.Email): userVerification, - fmt.Sprintf("user:id:%s", userVerification.ID): userVerification, + mapCache := map[string]any{ + fmt.Sprintf("user:email:%s", userVerification.Email): userVerification, + fmt.Sprintf("user:id:%s", userVerification.ID): userVerification, + } + _ = v.c.MSet(ctx, mapCache, constants.NormalCacheDuration) } - _ = v.c.MSet(ctx, mapCache, constants.NormalCacheDuration) v.c.PublishTask(ctx, constants.StreamEmailName, constants.TaskTypeNotifyHistorianReview, data) diff --git a/pkg/email/email.go b/pkg/email/email.go index f5d285c..1bbaf52 100644 --- a/pkg/email/email.go +++ b/pkg/email/email.go @@ -99,7 +99,7 @@ func SendHistorianReviewMail(dto *models.UserVerificationStorageEntity) error { } return SendMail(dto.Email, subject, templatePath, map[string]string{ - "NAME": dto.Email, + "NAME": dto.Name, "REASON": dto.ReviewNote, "APP_URL": feUrl, })