From a91d0f22a4fd96f4fc0bca30177d861bb93cd035 Mon Sep 17 00:00:00 2001 From: ZaydSkaff Date: Fri, 13 Jun 2025 09:46:41 +0300 Subject: [PATCH] fix: send correct enable status to email sender function (#407) --- libs/common/src/util/email.service.ts | 19 ++++-- .../services/invite-user.service.ts | 68 ++++++++++--------- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/libs/common/src/util/email.service.ts b/libs/common/src/util/email.service.ts index aee78fe..0a9b1f2 100644 --- a/libs/common/src/util/email.service.ts +++ b/libs/common/src/util/email.service.ts @@ -1,7 +1,7 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; -import * as nodemailer from 'nodemailer'; import axios from 'axios'; +import * as nodemailer from 'nodemailer'; import { SEND_EMAIL_API_URL_DEV, SEND_EMAIL_API_URL_PROD, @@ -83,12 +83,17 @@ export class EmailService { ); } } - async sendEmailWithTemplate( - email: string, - name: string, - isEnable: boolean, - isDelete: boolean, - ): Promise { + async sendEmailWithTemplate({ + email, + name, + isEnable, + isDelete, + }: { + email: string; + name: string; + isEnable: boolean; + isDelete: boolean; + }): Promise { const isProduction = process.env.NODE_ENV === 'production'; const API_TOKEN = this.configService.get( 'email-config.MAILTRAP_API_TOKEN', diff --git a/src/invite-user/services/invite-user.service.ts b/src/invite-user/services/invite-user.service.ts index 3288912..0cf8e42 100644 --- a/src/invite-user/services/invite-user.service.ts +++ b/src/invite-user/services/invite-user.service.ts @@ -1,36 +1,42 @@ -import { - Injectable, - HttpException, - HttpStatus, - BadRequestException, -} from '@nestjs/common'; -import { AddUserInvitationDto } from '../dtos'; -import { BaseResponseDto } from '@app/common/dto/base.response.dto'; +import { RoleType } from '@app/common/constants/role.type.enum'; import { UserStatusEnum } from '@app/common/constants/user-status.enum'; +import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { SuccessResponseDto } from '@app/common/dto/success.response.dto'; import { generateRandomString } from '@app/common/helper/randomString'; -import { EntityManager, In, IsNull, Not, QueryRunner } from 'typeorm'; -import { DataSource } from 'typeorm'; -import { UserEntity } from '@app/common/modules/user/entities'; -import { RoleType } from '@app/common/constants/role.type.enum'; +import { InviteUserEntity } from '@app/common/modules/Invite-user/entities'; import { InviteUserRepository, InviteUserSpaceRepository, } from '@app/common/modules/Invite-user/repositiories'; -import { CheckEmailDto } from '../dtos/check-email.dto'; +import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; +import { SpaceRepository } from '@app/common/modules/space'; +import { SpaceEntity } from '@app/common/modules/space/entities/space.entity'; +import { UserEntity } from '@app/common/modules/user/entities'; import { UserRepository } from '@app/common/modules/user/repositories'; import { EmailService } from '@app/common/util/email.service'; -import { SpaceRepository } from '@app/common/modules/space'; -import { ActivateCodeDto } from '../dtos/active-code.dto'; -import { UserSpaceService } from 'src/users/services'; +import { + BadRequestException, + HttpException, + HttpStatus, + Injectable, +} from '@nestjs/common'; import { SpaceUserService } from 'src/space/services'; +import { UserSpaceService } from 'src/users/services'; +import { + DataSource, + EntityManager, + In, + IsNull, + Not, + QueryRunner, +} from 'typeorm'; +import { AddUserInvitationDto } from '../dtos'; +import { ActivateCodeDto } from '../dtos/active-code.dto'; +import { CheckEmailDto } from '../dtos/check-email.dto'; import { DisableUserInvitationDto, UpdateUserInvitationDto, } from '../dtos/update.invite-user.dto'; -import { RoleTypeRepository } from '@app/common/modules/role-type/repositories'; -import { InviteUserEntity } from '@app/common/modules/Invite-user/entities'; -import { SpaceEntity } from '@app/common/modules/space/entities/space.entity'; @Injectable() export class InviteUserService { @@ -658,12 +664,12 @@ export class InviteUserService { HttpStatus.BAD_REQUEST, ); } - await this.emailService.sendEmailWithTemplate( - userData.email, - userData.firstName, - disable, - false, - ); + await this.emailService.sendEmailWithTemplate({ + email: userData.email, + name: userData.firstName, + isEnable: !disable, + isDelete: false, + }); await queryRunner.commitTransaction(); return new SuccessResponseDto({ @@ -797,12 +803,12 @@ export class InviteUserService { { isActive: false }, ); } - await this.emailService.sendEmailWithTemplate( - userData.email, - userData.firstName, - false, - true, - ); + await this.emailService.sendEmailWithTemplate({ + email: userData.email, + name: userData.firstName, + isEnable: false, + isDelete: true, + }); await queryRunner.commitTransaction(); return new SuccessResponseDto({