fix: send correct enable status to email sender function (#407)

This commit is contained in:
ZaydSkaff
2025-06-13 09:46:41 +03:00
committed by GitHub
parent 0db060ae3f
commit a91d0f22a4
2 changed files with 49 additions and 38 deletions

View File

@ -1,7 +1,7 @@
import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
import { ConfigService } from '@nestjs/config'; import { ConfigService } from '@nestjs/config';
import * as nodemailer from 'nodemailer';
import axios from 'axios'; import axios from 'axios';
import * as nodemailer from 'nodemailer';
import { import {
SEND_EMAIL_API_URL_DEV, SEND_EMAIL_API_URL_DEV,
SEND_EMAIL_API_URL_PROD, SEND_EMAIL_API_URL_PROD,
@ -83,12 +83,17 @@ export class EmailService {
); );
} }
} }
async sendEmailWithTemplate( async sendEmailWithTemplate({
email: string, email,
name: string, name,
isEnable: boolean, isEnable,
isDelete: boolean, isDelete,
): Promise<void> { }: {
email: string;
name: string;
isEnable: boolean;
isDelete: boolean;
}): Promise<void> {
const isProduction = process.env.NODE_ENV === 'production'; const isProduction = process.env.NODE_ENV === 'production';
const API_TOKEN = this.configService.get<string>( const API_TOKEN = this.configService.get<string>(
'email-config.MAILTRAP_API_TOKEN', 'email-config.MAILTRAP_API_TOKEN',

View File

@ -1,36 +1,42 @@
import { import { RoleType } from '@app/common/constants/role.type.enum';
Injectable,
HttpException,
HttpStatus,
BadRequestException,
} from '@nestjs/common';
import { AddUserInvitationDto } from '../dtos';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { UserStatusEnum } from '@app/common/constants/user-status.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 { SuccessResponseDto } from '@app/common/dto/success.response.dto';
import { generateRandomString } from '@app/common/helper/randomString'; import { generateRandomString } from '@app/common/helper/randomString';
import { EntityManager, In, IsNull, Not, QueryRunner } from 'typeorm'; import { InviteUserEntity } from '@app/common/modules/Invite-user/entities';
import { DataSource } from 'typeorm';
import { UserEntity } from '@app/common/modules/user/entities';
import { RoleType } from '@app/common/constants/role.type.enum';
import { import {
InviteUserRepository, InviteUserRepository,
InviteUserSpaceRepository, InviteUserSpaceRepository,
} from '@app/common/modules/Invite-user/repositiories'; } 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 { UserRepository } from '@app/common/modules/user/repositories';
import { EmailService } from '@app/common/util/email.service'; import { EmailService } from '@app/common/util/email.service';
import { SpaceRepository } from '@app/common/modules/space'; import {
import { ActivateCodeDto } from '../dtos/active-code.dto'; BadRequestException,
import { UserSpaceService } from 'src/users/services'; HttpException,
HttpStatus,
Injectable,
} from '@nestjs/common';
import { SpaceUserService } from 'src/space/services'; 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 { import {
DisableUserInvitationDto, DisableUserInvitationDto,
UpdateUserInvitationDto, UpdateUserInvitationDto,
} from '../dtos/update.invite-user.dto'; } 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() @Injectable()
export class InviteUserService { export class InviteUserService {
@ -658,12 +664,12 @@ export class InviteUserService {
HttpStatus.BAD_REQUEST, HttpStatus.BAD_REQUEST,
); );
} }
await this.emailService.sendEmailWithTemplate( await this.emailService.sendEmailWithTemplate({
userData.email, email: userData.email,
userData.firstName, name: userData.firstName,
disable, isEnable: !disable,
false, isDelete: false,
); });
await queryRunner.commitTransaction(); await queryRunner.commitTransaction();
return new SuccessResponseDto({ return new SuccessResponseDto({
@ -797,12 +803,12 @@ export class InviteUserService {
{ isActive: false }, { isActive: false },
); );
} }
await this.emailService.sendEmailWithTemplate( await this.emailService.sendEmailWithTemplate({
userData.email, email: userData.email,
userData.firstName, name: userData.firstName,
false, isEnable: false,
true, isDelete: true,
); });
await queryRunner.commitTransaction(); await queryRunner.commitTransaction();
return new SuccessResponseDto({ return new SuccessResponseDto({