* Add cron to message queue interfaces * Add command to launch cron job * Add command to stop cron job * Update clean inactive workspaces job * Add react-email * WIP * Fix import error * Rename services * Update logging * Update email template * Update email template * Add Base Email template * Move to proper place * Remove test files * Update logo * Add email theme * Revert "Remove test files" This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a. * Add email theme 2 * Revert "Revert "Remove test files"" This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce. * Revert "Revert "Revert "Remove test files""" This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd. * Revert "Revert "Revert "Revert "Remove test files"""" This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36. * Fix theme * Reorganize files * Update clean inactive workspaces job * Use env variable to define inactive days * Remove FROM variable * Use feature flag * Fix cron command * Remove useless variable * Reorganize files * Refactor some code * Update email template * Update email object * Remove verbose log * Code review returns * Code review returns * Simplify handle * Code review returns * Review --------- Co-authored-by: Charles Bochet <charles@twenty.com>
19 lines
670 B
TypeScript
19 lines
670 B
TypeScript
import { Injectable, Logger } from '@nestjs/common';
|
|
|
|
import { SendMailOptions } from 'nodemailer';
|
|
|
|
import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/message-queue-job.interface';
|
|
|
|
import { EmailSenderService } from 'src/integrations/email/email-sender.service';
|
|
|
|
@Injectable()
|
|
export class EmailSenderJob implements MessageQueueJob<SendMailOptions> {
|
|
private readonly logger = new Logger(EmailSenderJob.name);
|
|
constructor(private readonly emailSenderService: EmailSenderService) {}
|
|
|
|
async handle(data: SendMailOptions): Promise<void> {
|
|
await this.emailSenderService.send(data);
|
|
this.logger.log(`Email to ${data.to} sent`);
|
|
}
|
|
}
|