Add click and open tracking

This commit is contained in:
KMKoushik
2024-04-10 08:35:03 +10:00
parent dab3d7ad25
commit ffad4050de
7 changed files with 156 additions and 47 deletions

View File

@@ -67,3 +67,13 @@ export async function getDomain(id: number) {
return domain;
}
export async function updateDomain(
id: number,
data: { clickTracking?: boolean; openTracking?: boolean }
) {
return db.domain.update({
where: { id },
data,
});
}

View File

@@ -1,6 +1,7 @@
import { EmailContent } from "~/types";
import { db } from "../db";
import { sendEmailThroughSes } from "../ses";
import { APP_SETTINGS } from "~/utils/constants";
export async function sendEmail(
emailContent: EmailContent & { teamId: number }
@@ -30,6 +31,10 @@ export async function sendEmail(
text,
html,
region: domain.region,
configurationSetName: getConfigurationSetName(
domain.clickTracking,
domain.openTracking
),
});
if (messageId) {
@@ -47,3 +52,20 @@ export async function sendEmail(
});
}
}
function getConfigurationSetName(
clickTracking: boolean,
openTracking: boolean
) {
if (clickTracking && openTracking) {
return APP_SETTINGS.SES_CONFIGURATION_FULL;
}
if (clickTracking) {
return APP_SETTINGS.SES_CONFIGURATION_CLICK_TRACKING;
}
if (openTracking) {
return APP_SETTINGS.SES_CONFIGURATION_OPEN_TRACKING;
}
return APP_SETTINGS.SES_CONFIGURATION_GENERAL;
}