import type { CalendarEvent, Person } from "@calcom/types/Calendar"; import { renderEmail } from "../"; import generateIcsFile, { GenerateIcsRole } from "../lib/generateIcsFile"; import AttendeeScheduledEmail from "./attendee-scheduled-email"; export default class AttendeeUpdatedEmail extends AttendeeScheduledEmail { protected async getNodeMailerPayload(): Promise> { return { icalEvent: generateIcsFile({ calEvent: this.calEvent, role: GenerateIcsRole.ATTENDEE, status: "CONFIRMED", }), to: `${this.attendee.name} <${this.attendee.email}>`, from: `${this.calEvent.organizer.name} <${this.getMailerOptions().from}>`, replyTo: [...this.calEvent.attendees.map(({ email }) => email), this.calEvent.organizer.email], subject: `${this.attendee.language.translate("event_type_has_been_updated", { title: this.calEvent.title, date: this.getFormattedDate(), })}`, html: await this.getHtml(this.calEvent, this.attendee), text: this.getTextBody("event_has_been_updated", "emailed_you_and_any_other_attendees"), }; } async getHtml(calEvent: CalendarEvent, attendee: Person) { return await renderEmail("AttendeeUpdatedEmail", { calEvent, attendee, }); } }