Virtualization of contact selector & improved decoupling of contacts on PUT

This commit is contained in:
Dries Augustyns
2024-08-13 18:59:26 +02:00
parent 4fcb966e73
commit 4fd6c66882
5 changed files with 219 additions and 568 deletions
@@ -299,6 +299,13 @@ export class Campaigns {
});
const chunkSize = 500;
for (let i = 0; i < campaign.recipients.length; i += chunkSize) {
const chunk = campaign.recipients.slice(i, i + chunkSize);
await prisma.$executeRaw`DELETE FROM "_CampaignToContact" WHERE "A" = ${campaign.id} AND "B" = ANY(${chunk.map((c) => c.id)})`;
}
for (let i = 0; i < recipients.length; i += chunkSize) {
const chunk = recipients.slice(i, i + chunkSize);