Customers emails limited (#122)

This commit is contained in:
VincentAlamelle 2023-10-04 11:28:50 +02:00 committed by GitHub
commit bc53a14b1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -17,6 +17,11 @@ export default class EmailBuilder {
const documentPrisma = await this.documentsService.getByUid(documentEntity.uid, { depositor: {include: {contact: true}}, folder:{include:{ office: true}} });
if(!documentPrisma) throw new Error("Document not found");
const document = Document.hydrate<Document>(documentPrisma);
//Use mailchimpService.get get if an email was sent to the user in the lst hour
const lastEmail = await this.mailchimpService.get({ where: { to: document.depositor!.contact!.email, sentAt: { gte: new Date(Date.now() - 3600000) } } });
if(lastEmail.length > 0) return;
const to = document.depositor!.contact!.email;
const civility = this.getCivility(document.depositor!.contact!.civility);
const templateVariables = {

View File

@ -1,6 +1,6 @@
import EmailRepository from "@Repositories/EmailRepository";
import BaseService from "@Services/BaseService";
import { Emails } from "@prisma/client";
import { Emails, Prisma } from "@prisma/client";
import { Service } from "typedi";
import MailchimpClient from "@mailchimp/mailchimp_transactional";
import { BackendVariables } from "@Common/config/variables/Variables";
@ -24,7 +24,7 @@ export default class MailchimpService extends BaseService {
* @description : Get all emails
* @throws {Error} If emails cannot be get
*/
public async get(query: any): Promise<Emails[]> {
public async get(query: Prisma.EmailsFindManyArgs): Promise<Emails[]> {
return this.emailRepository.findMany(query);
}