fixed
This commit is contained in:
parent
7c2bb75244
commit
659067a280
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService";
|
import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService";
|
||||||
import { Documents } from "@prisma/client";
|
import { Documents } from "@prisma/client";
|
||||||
import { Document } from "le-coffre-resources/dist/SuperAdmin";
|
import User, { Document } from "le-coffre-resources/dist/SuperAdmin";
|
||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
import { ETemplates } from "./Templates/EmailTemplates";
|
import { ETemplates } from "./Templates/EmailTemplates";
|
||||||
import MailchimpService from "@Services/common/MailchimpService/MailchimpService";
|
import MailchimpService from "@Services/common/MailchimpService/MailchimpService";
|
||||||
@ -48,14 +48,14 @@ export default class EmailBuilder {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async sendRecapEmails(usersToEmail: [{email: string, civility: string, last_name: string}]){
|
public async sendRecapEmails(usersToEmail: User[]){
|
||||||
usersToEmail.forEach(user => {
|
usersToEmail.forEach(user => {
|
||||||
const to = user.email;
|
const to = user.contact!.email;
|
||||||
const civility = this.getCivility(user.civility);
|
const civility = this.getCivility(user.contact!.civility);
|
||||||
|
|
||||||
const templateVariables = {
|
const templateVariables = {
|
||||||
civility: civility,
|
civility: civility,
|
||||||
last_name: user.last_name,
|
last_name: user.contact!.last_name,
|
||||||
link: this.variables.APP_HOST
|
link: this.variables.APP_HOST
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,17 +1,22 @@
|
|||||||
import EmailRepository from "@Repositories/EmailRepository";
|
import EmailRepository from "@Repositories/EmailRepository";
|
||||||
import BaseService from "@Services/BaseService";
|
import BaseService from "@Services/BaseService";
|
||||||
import { Emails, PrismaClient } from "@prisma/client";
|
import { Emails } from "@prisma/client";
|
||||||
import { Service } from "typedi";
|
import { Service } from "typedi";
|
||||||
import MailchimpClient from "@mailchimp/mailchimp_transactional";
|
import MailchimpClient from "@mailchimp/mailchimp_transactional";
|
||||||
import { BackendVariables } from "@Common/config/variables/Variables";
|
import { BackendVariables } from "@Common/config/variables/Variables";
|
||||||
|
import UsersService from "@Services/super-admin/UsersService/UsersService";
|
||||||
import EmailBuilder from "@Common/emails/EmailBuilder";
|
import EmailBuilder from "@Common/emails/EmailBuilder";
|
||||||
// import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService";
|
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export default class MailchimpService extends BaseService {
|
export default class MailchimpService extends BaseService {
|
||||||
private static readonly from = "vincent.alamelle@smart-chain.fr";
|
private static readonly from = "vincent.alamelle@smart-chain.fr";
|
||||||
|
|
||||||
constructor(private emailRepository: EmailRepository, protected variables: BackendVariables, private emailBuilder: EmailBuilder) {
|
constructor(
|
||||||
|
private emailRepository: EmailRepository,
|
||||||
|
protected variables: BackendVariables,
|
||||||
|
private usersService: UsersService,
|
||||||
|
private emailBuilder: EmailBuilder,
|
||||||
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,14 +122,7 @@ export default class MailchimpService extends BaseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async sendRecapEmails() {
|
public async sendRecapEmails() {
|
||||||
const prisma = new PrismaClient();
|
const usersToEmail = await this.usersService.get({ where: { office_folders: { some:{ documents: { some: { document_status: "DEPOSITED" } } }} }, distinct: ["uid"], include: { contact: true } });
|
||||||
const usersToEmail: [{email: string, civility: string, last_name: string}] = await prisma.$queryRaw
|
|
||||||
`SELECT DISTINCT c.email, c.civility, c.last_name
|
|
||||||
FROM Contacts c
|
|
||||||
JOIN Users u ON c.uid = u.contact_uid
|
|
||||||
JOIN office_folders of ON u.office_uid = of.office_uid
|
|
||||||
JOIN Documents d ON of.uid = d.folder_uid
|
|
||||||
WHERE d.document_status = 'DEPOSITED';`
|
|
||||||
|
|
||||||
await this.emailBuilder.sendRecapEmails(usersToEmail);
|
await this.emailBuilder.sendRecapEmails(usersToEmail);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user