Email template changes
This commit is contained in:
@@ -83,6 +83,7 @@ const envVarsSchema = yup
|
||||
BYPASS_OTP: yup.boolean().default(false).required('Bypass OTP is required'),
|
||||
// Email links
|
||||
AM_INVITATION_LINK: yup.string().required('Link to send in AM invitation mail is required'),
|
||||
AM_INTERFACE_LINK:yup.string().required('Link to am interface is required'),
|
||||
HOST_LINK: yup.string().required('Link to host panel is required'),
|
||||
HOST_LINK_PQ: yup.string().required('Link to host panel pqp is required'),
|
||||
RAZORPAY_KEY_SECRET: yup.string().required('Razorpay key secret is required'),
|
||||
@@ -171,6 +172,7 @@ function getConfig() {
|
||||
RAZORPAY_KEY_ID: envVars.RAZORPAY_KEY_ID,
|
||||
RAZORPAY_KEY_SECRET: envVars.RAZORPAY_KEY_SECRET,
|
||||
RAZORPAY_WEBHOOK_SECRET: envVars.RAZORPAY_WEBHOOK_SECRET,
|
||||
AM_INTERFACE_LINK: envVars.AM_INTERFACE_LINK,
|
||||
|
||||
// oneSignal: {
|
||||
// appID: envVars.ONESIGNAL_APPID,
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import { brevoService } from "@/common/email/brevoApi";
|
||||
import ApiError from "@/common/utils/helper/ApiError";
|
||||
import config from '../../../config/config';
|
||||
|
||||
export async function sendEmailToAM(
|
||||
emailAddress: string,
|
||||
amName: string,
|
||||
hostCompanyName: string,
|
||||
hostRefNumber: string
|
||||
activityName: string
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
@@ -15,10 +16,24 @@ export async function sendEmailToAM(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hello ${amName},</p>
|
||||
<p>${hostCompanyName} has updated and re-submitted their application for your review.</p>
|
||||
<p>Reference number: <strong>${hostRefNumber}</strong></p>
|
||||
<p>Please log in to your dashboard to review the revised submission and proceed with the necessary action.</p>
|
||||
<p>Thank you,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
${hostCompanyName} has updated and re-submitted their pre-qualification details of ${activityName} for your review.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please click on the link below to log in to your dashboard to review the revised submission and proceed with the necessary action.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Review Application</strong><br/>
|
||||
<a href="${config.AM_INTERFACE_LINK}" target="_blank">${config.AM_INTERFACE_LINK}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Thank you,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -83,7 +98,7 @@ export async function sendPQPEmailToAM(
|
||||
emailAddress: string,
|
||||
minglarAdminName: string,
|
||||
hostCompanyName: string,
|
||||
hostRefNumber: string
|
||||
activityName: string
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
@@ -93,10 +108,24 @@ export async function sendPQPEmailToAM(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${minglarAdminName},</p>
|
||||
<p>${hostCompanyName} has submitted the pre-qualification details and is awaiting your review.</p>
|
||||
<p>Reference number: <strong>${hostRefNumber}</strong></p>
|
||||
<p>Please log in to your dashboard to review the submission and take the necessary action.</p>
|
||||
<p>Thank you,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
${hostCompanyName} has submitted the pre-qualification details for ${activityName} and is awaiting your review.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please click the link below to log in to your dashboard, review the submission, and take the necessary action:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Review Application</strong><br/>
|
||||
<a href="${config.HOST_LINK_PQ}" target="_blank">${config.HOST_LINK_PQ}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Thank you,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
import { brevoService } from "../../../common/email/brevoApi";
|
||||
import ApiError from "../../../common/utils/helper/ApiError";
|
||||
import config from "../../../config/config";
|
||||
import { brevoService } from '../../../common/email/brevoApi';
|
||||
import ApiError from '../../../common/utils/helper/ApiError';
|
||||
import config from '../../../config/config';
|
||||
|
||||
export async function sendOtpEmailForHost(
|
||||
emailAddress: string,
|
||||
otp: string | number
|
||||
otp: string | number,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Your Minglar Verification Code";
|
||||
const subject = 'Your Minglar Verification Code';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi there,</p>
|
||||
<p>Here's your verification code to get started:</p>
|
||||
<p>Hi there 👋</p>
|
||||
<p>Here’s your verification code to get started:</p>
|
||||
<p><strong>${otp}</strong></p>
|
||||
<p>This code is valid for the next 5 minutes.</p>
|
||||
<p>Once verified, you can continue setting up your Minglar account. If you didn't request this, you can safely ignore this email.</p>
|
||||
<p>Once verified, you can continue setting up your Minglar account. If you didn’t request this, you can safely ignore this email.</p>
|
||||
<p>Need help? Reach out to us at info@minglargroup.com.</p>
|
||||
<p>Warm regards,<br />Team Minglar</p>
|
||||
`;
|
||||
@@ -36,35 +35,50 @@ export async function sendOtpEmailForHost(
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to host via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to host via email.');
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendWelcomeEmailToHost(
|
||||
emailAddress: string,
|
||||
): Promise<{
|
||||
export async function sendWelcomeEmailToHost(emailAddress: string): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Get Started as a Minglar Host";
|
||||
const subject = 'Get Started as a Minglar Host';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${emailAddress},</p>
|
||||
<p>We're excited to have you join Minglar as a host. Welcome aboard!</p>
|
||||
<p>To get started and bring your activities live, here's what comes next:</p>
|
||||
|
||||
<p>We’re excited to have you join Minglar as a host. Welcome aboard! 🌟</p>
|
||||
|
||||
<p>To get started and bring your activities live, here’s what comes next:</p>
|
||||
|
||||
<p><strong>Your next steps:</strong></p>
|
||||
|
||||
<p>1. Complete your host profile</p>
|
||||
<p>2. Complete the pre-qualification process for all your activities</p>
|
||||
<p>3. Submit your activity details for review</p>
|
||||
<p>4. Go live and start receiving bookings</p>
|
||||
<p><strong>Access your Host Portal:</strong><br/>
|
||||
|
||||
<p>
|
||||
👉 <strong>Access your Host Portal:</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
<p>If you need any support along the way, our team is always here to help. You can reach us anytime at info@minglargroup.com.</p>
|
||||
<p>We're looking forward to seeing your experiences come to life on Minglar.</p>
|
||||
<p>Warm regards,<br/>Team Minglar</p>
|
||||
|
||||
<p>
|
||||
If you need any support along the way, our team is always here to help.
|
||||
You can reach us anytime at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We’re looking forward to seeing your experiences come to life on Minglar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Team Minglar
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -81,8 +95,7 @@ export async function sendWelcomeEmailToHost(
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to host via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to host via email.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ import { prismaClient } from '../../../../../common/database/prisma.lambda.servi
|
||||
import { verifyMinglarAdminToken } from '../../../../../common/middlewares/jwt/authForMinglarAdmin';
|
||||
import { safeHandler } from '../../../../../common/utils/handlers/safeHandler';
|
||||
import ApiError from '../../../../../common/utils/helper/ApiError';
|
||||
import { sendActivityAcceptanceMailtoHost } from '../../../../minglaradmin/services/approvalMailtoHost.service';
|
||||
import { MinglarService } from '../../../services/minglar.service';
|
||||
|
||||
const minglarService = new MinglarService(prismaClient);
|
||||
@@ -40,9 +39,6 @@ export const handler = safeHandler(async (
|
||||
Number(activityId),
|
||||
Number(userInfo.id)
|
||||
);
|
||||
const hostXid = await minglarService.getHostXidByActivityId(activityId)
|
||||
const hostDetails = await minglarService.getUserDetails(hostXid)
|
||||
await sendActivityAcceptanceMailtoHost(hostDetails.emailAddress, hostDetails.firstName)
|
||||
|
||||
return {
|
||||
statusCode: 201,
|
||||
|
||||
@@ -12,9 +12,19 @@ export async function sendAMEmailForHostAssign(emailAddress: string, accountMana
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${displayName},</p>
|
||||
<p>A new host has been assigned to you by the Minglar team.</p>
|
||||
<p>You can now manage and support this host through your admin dashboard. Log in to review the host's details, connect with them, and take the next steps as needed.</p>
|
||||
<p>Warm regards,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
A new host has been assigned to you by the Minglar team.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can now manage and support this host through your admin dashboard. Log in to review the host’s details, connect with them, and take the next steps as needed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,25 +1,45 @@
|
||||
import { brevoService } from "../../../common/email/brevoApi";
|
||||
import ApiError from "../../../common/utils/helper/ApiError";
|
||||
import config from "../../../config/config";
|
||||
import { brevoService } from '../../../common/email/brevoApi';
|
||||
import ApiError from '../../../common/utils/helper/ApiError';
|
||||
import config from '../../../config/config';
|
||||
|
||||
export async function sendEmailToHostForApprovedApplication(
|
||||
emailAddress: string,
|
||||
name: string
|
||||
name: string,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Host Onboarding Application Approved";
|
||||
const subject = 'Host Onboarding Application Approved';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
<p>We're pleased to inform you that your host onboarding application has been approved by our team.</p>
|
||||
<p>You can now proceed with completing your activity pre-qualification process.</p>
|
||||
<p>Please click the link below to log in to your account and continue:</p>
|
||||
<p><a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a></p>
|
||||
<p>If you have any questions or need assistance, feel free to reach out to us at info@minglargroup.com.</p>
|
||||
<p>Warm regards,<br/>Minglar Team</p>
|
||||
<p>Hi ${emailAddress},</p>
|
||||
|
||||
<p>
|
||||
We’re pleased to inform you that your host onboarding application has been approved by our team.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can now proceed with completing your activity pre-qualification process.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please click the link below to log in to your account and continue:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Host Portal Login</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have any questions or need assistance, feel free to reach out to us at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -29,15 +49,15 @@ export async function sendEmailToHostForApprovedApplication(
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log("📧 Email sent successfully:", result);
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to minglar admin via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to minglar admin via email.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,8 +67,7 @@ export async function sendEmailToHostForMinglarApproval(
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Host Onboarding Application Approved";
|
||||
const subject = 'Host Onboarding Application Approved';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi there,</p>
|
||||
@@ -67,36 +86,56 @@ export async function sendEmailToHostForMinglarApproval(
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log("📧 Email sent successfully:", result);
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to minglar admin via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to minglar admin via email.');
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendAMPQQAcceptanceMailtoHost(
|
||||
emailAddress: string,
|
||||
name: string
|
||||
name: string,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Your Activity Has Been Qualified for Onboarding";
|
||||
const subject = 'Your Activity Has Been Qualified for Onboarding';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
<p>We're pleased to inform you that your activity has been qualified on the Minglar platform.</p>
|
||||
<p>You can now proceed to complete the details of your activity through the Host portal.</p>
|
||||
<p>Please click the link below to log in to your account and continue:</p>
|
||||
<p><a href="${config.HOST_LINK_PQ}" target="_blank">${config.HOST_LINK_PQ}</a></p>
|
||||
<p>If you have any questions or need assistance, feel free to reach out at info@minglargroup.com.</p>
|
||||
<p>Warm regards,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
We’re pleased to inform you that your activity has been qualified on the Minglar platform.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can now proceed to complete the details of your activity through the Host portal.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please click the link below to log in to your account and continue:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Host Portal Login</strong><br/>
|
||||
<a href="${config.HOST_LINK_PQ}" target="_blank">${config.HOST_LINK_PQ}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have any questions or need assistance, feel free to reach out at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -106,39 +145,59 @@ export async function sendAMPQQAcceptanceMailtoHost(
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log("📧 Email sent successfully:", result);
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to minglar admin via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to minglar admin via email.');
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendActivityAcceptanceMailtoHost(
|
||||
emailAddress: string,
|
||||
name: string
|
||||
name: string,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
// messageId: string
|
||||
}> {
|
||||
|
||||
const subject = "Onboarding Completed | You Can Now Set Up Your Activity Schedule and Listing";
|
||||
const subject =
|
||||
'Onboarding Completed | You Can Now Set Up Your Activity Schedule and Listing';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
<p>Great news!</p>
|
||||
<p>You have successfully completed the onboarding process for your activity on Minglar.</p>
|
||||
<p>You can now move on to the next step by setting up your activity's schedule. Once this is done, your activity will be ready to be listed on the Minglar app.</p>
|
||||
<p><strong>Access your Host Portal:</strong><br/>
|
||||
|
||||
<p>Great news! 🎉</p>
|
||||
|
||||
<p>
|
||||
You have successfully completed the onboarding process for your activity on Minglar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can now move on to the next step by setting up your activity’s schedule. Once this is done, your activity will be ready to be listed on the Minglar app.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
👉 <strong>Access your Host Portal:</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
<p>If you have any questions or need assistance while setting things up, our team is here to help at info@minglargroup.com.</p>
|
||||
<p>We're excited to see your activity take shape and look forward to having it live on Minglar soon.</p>
|
||||
<p>Warm regards,<br/>Team Minglar</p>
|
||||
|
||||
<p>
|
||||
If you have any questions or need assistance while setting things up, our team is here to help at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We’re excited to see your activity take shape and look forward to having it live on Minglar soon.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Team Minglar
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -148,15 +207,70 @@ export async function sendActivityAcceptanceMailtoHost(
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log("📧 Email sent successfully:", result);
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
// messageId: result.messageId
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Brevo email send failed:", err);
|
||||
throw new ApiError(500, "Failed to send OTP to minglar admin via email.");
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send OTP to minglar admin via email.');
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendActivityScheduleApprovedMailtoHost(
|
||||
emailAddress: string,
|
||||
name: string,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
}> {
|
||||
const subject = 'Activity Schedule Approved | Let’s Go Live!!';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
|
||||
<p>Your activity schedule has been officially approved.</p>
|
||||
|
||||
<p>
|
||||
Everything is now in place. Your experience is fully configured and queued for launch.
|
||||
Our team is completing the final activation before it goes live on Minglar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can continue managing your availability or adding new time slots anytime through your Host Portal:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
👉 <strong>Host Portal</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This is a big step. We’re excited to bring your experience to life on Minglar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
The Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
const result = await brevoService.sendEmail({
|
||||
recipients: [{ email: emailAddress }],
|
||||
subject,
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
};
|
||||
} catch (err) {
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send schedule approval email to host.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,12 +13,31 @@ export async function sendInvitationEmailForMinglarAdmin(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${emailAddress},</p>
|
||||
<p>We're happy to invite you to join the Minglar team as an Account Manager.</p>
|
||||
<p>To get started, please set up your account using the link below:</p>
|
||||
<p><a href="${link}" target="_blank">${link}</a></p>
|
||||
<p>If you have any questions or need help during the setup process, feel free to reach out.</p>
|
||||
<p>We look forward to working with you.</p>
|
||||
<p>Warm regards,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
We’re happy to invite you to join the Minglar team as an Account Manager.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To get started, please set up your account using the link below:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="${link}" target="_blank">${link}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have any questions or need help during the setup process, feel free to reach out.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We look forward to working with you.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
|
||||
@@ -14,12 +14,24 @@ export async function sendEmailToHostForRejectedApplication(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${firstName},</p>
|
||||
<p>After reviewing your submission, we're unable to proceed at this stage, as some details require further updates. We encourage you to log in to your Host portal to review the feedback provided and make the necessary changes.</p>
|
||||
<p><strong>Host portal login:</strong><br/>
|
||||
|
||||
<p>
|
||||
After reviewing your submission, we’re unable to proceed at this stage, as some details require further updates. We encourage you to log in to your Host portal to review the feedback provided and make the necessary changes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Host Portal Login</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
<p>We appreciate your interest in Minglar and look forward to reviewing your updated application.</p>
|
||||
<p>Warm regards,<br/>Team Minglar</p>
|
||||
|
||||
<p>
|
||||
We appreciate your interest in Minglar and look forward to reviewing your updated application.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -92,13 +104,37 @@ export async function sendAMPQQRejectionMailtoHost(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
<p>Thank you for taking the time to submit your activity pre-qualification details on the Minglar platform.</p>
|
||||
<p>After reviewing your submission, we're unable to approve the application at this stage. However, we encourage you to make the suggested updates and refinements, as many applications are successfully approved after revision.</p>
|
||||
<p>You can log in to the Host portal to review the feedback and continue updating your application:</p>
|
||||
<p><a href="${config.HOST_LINK_PQ}" target="_blank">${config.HOST_LINK_PQ}</a></p>
|
||||
<p>If you need any guidance, feel free to reach out to us at info@minglargroup.com.</p>
|
||||
<p>We appreciate your interest in partnering with Minglar and look forward to reviewing your updated submission.</p>
|
||||
<p>Thank you,<br/>Minglar Team</p>
|
||||
|
||||
<p>
|
||||
Thank you for taking the time to submit your activity pre-qualification details on the Minglar platform.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After reviewing your submission, we’re unable to approve the application at this stage. However, we encourage you to make the suggested updates and refinements, as many applications are successfully approved after revision.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can log in to the Host portal to review the feedback and continue updating your application:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Host Portal Login</strong><br/>
|
||||
<a href="${config.HOST_LINK_PQ}" target="_blank">${config.HOST_LINK_PQ}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you need any guidance, feel free to reach out to us at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We appreciate your interest in partnering with Minglar and look forward to reviewing your updated submission.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Thank you,<br/>
|
||||
Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -133,15 +169,37 @@ export async function sendActivityRejectionMailtoHost(
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
<p>Thank you for submitting your activity for review.</p>
|
||||
<p>After evaluating the details provided, we're unable to approve the listing at this stage. A few updates are required before we can proceed.</p>
|
||||
<p>Please log in to your Host Portal to review the feedback and make the necessary revisions.</p>
|
||||
<p><strong>Access your Host Portal:</strong><br/>
|
||||
|
||||
<p>
|
||||
Thank you for submitting your activity for review.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After evaluating the details provided, we’re unable to approve the listing at this stage. A few updates are required before we can proceed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please log in to your Host Portal to review the feedback and make the necessary revisions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
👉 <strong>Access your Host Portal:</strong><br/>
|
||||
<a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
<p>Once the updates have been submitted, our team will re-evaluate your activity promptly.</p>
|
||||
<p>If you have any questions or need clarification on the feedback, feel free to reach out to us at info@minglargroup.com. We're happy to assist.</p>
|
||||
<p>Warm regards,<br/>The Minglar Team</p>
|
||||
|
||||
<p>
|
||||
Once the updates have been submitted, our team will re-evaluate your activity promptly.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you have any questions or need clarification on the feedback, feel free to reach out to us at
|
||||
<a href="mailto:info@minglargroup.com">info@minglargroup.com</a>. We’re happy to assist.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Warm regards,<br/>
|
||||
The Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
@@ -163,3 +221,57 @@ export async function sendActivityRejectionMailtoHost(
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendActivityScheduleRejectedMailtoHost(
|
||||
emailAddress: string,
|
||||
name: string,
|
||||
): Promise<{
|
||||
sent: boolean;
|
||||
}> {
|
||||
const subject = 'Changes Required to Approve Your Activity Schedule';
|
||||
|
||||
const htmlContent = `
|
||||
<p>Hi ${name},</p>
|
||||
|
||||
<p>Thank you for submitting your activity schedule for review.</p>
|
||||
|
||||
<p>
|
||||
At this stage, we’re unable to approve the schedule. Please log in to your Host Portal
|
||||
to review the changes required and update the details accordingly.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
👉 <a href="${config.HOST_LINK}" target="_blank">${config.HOST_LINK}</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once the revisions have been made, our team will promptly review the schedule again so
|
||||
we can move you closer to going live on Minglar.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We’re looking forward to activating your experience soon.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Minglar Team
|
||||
</p>
|
||||
`;
|
||||
|
||||
try {
|
||||
const result = await brevoService.sendEmail({
|
||||
recipients: [{ email: emailAddress }],
|
||||
subject,
|
||||
htmlContent,
|
||||
});
|
||||
|
||||
console.log('📧 Email sent successfully:', result);
|
||||
|
||||
return {
|
||||
sent: true,
|
||||
};
|
||||
} catch (err) {
|
||||
console.error('Brevo email send failed:', err);
|
||||
throw new ApiError(500, 'Failed to send schedule rejection email to host.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user