Files
calendar/packages/app-store/routing-forms/emails/templates/response-email.ts
T
Anik Dhabal BabuandGitHub 410558f822 fix: Display option label in the routing form response email (#17898)
* fix: display option label int the routing form response email

* Update

* fix type error

* type error
2024-12-02 19:24:11 +00:00

43 lines
1.1 KiB
TypeScript

import type { App_RoutingForms_Form } from "@prisma/client";
import { renderEmail } from "@calcom/emails";
import BaseEmail from "@calcom/emails/templates/_base-email";
import type { OrderedResponses } from "../../types/types";
type Form = Pick<App_RoutingForms_Form, "id" | "name" | "fields">;
export default class ResponseEmail extends BaseEmail {
orderedResponses: OrderedResponses;
toAddresses: string[];
form: Form;
constructor({
toAddresses,
orderedResponses,
form,
}: {
form: Form;
toAddresses: string[];
orderedResponses: OrderedResponses;
}) {
super();
this.form = form;
this.orderedResponses = orderedResponses;
this.toAddresses = toAddresses;
}
protected async getNodeMailerPayload(): Promise<Record<string, unknown>> {
const toAddresses = this.toAddresses;
const subject = `${this.form.name} has a new response`;
return {
from: `Cal.com <${this.getMailerOptions().from}>`,
to: toAddresses.join(","),
subject,
html: await renderEmail("ResponseEmail", {
form: this.form,
orderedResponses: this.orderedResponses,
subject,
}),
};
}
}