actions/create-rsvp-template/create-rsvp-template.mjs
import addToCalendarPro from "../../add_to_calendar_pro.app.mjs"; import { parseObject } from "../../common/utils.mjs"; export default { key: "add_to_calendar_pro-create-rsvp-template", name: "Create RSVP Template", description: "Create an RSVP template. [See the documentation](https://docs.add-to-calendar-pro.com/api/rsvp#add-an-rsvp-template)", version: "0.0.3", annotations: { destructiveHint: false, openWorldHint: true, readOnlyHint: false, }, type: "action", props: { addToCalendarPro, rsvpTemplateName: { propDefinition: [ addToCalendarPro, "rsvpTemplateName", ], }, max: { propDefinition: [ addToCalendarPro, "rsvpTemplateMax", ], }, maxPP: { propDefinition: [ addToCalendarPro, "rsvpTemplateMaxPP", ], }, expires: { propDefinition: [ addToCalendarPro, "expires", ], }, maybeOption: { propDefinition: [ addToCalendarPro, "maybeOption", ], }, initialConfirmation: { propDefinition: [ addToCalendarPro, "initialConfirmation", ], }, doi: { propDefinition: [ addToCalendarPro, "doi", ], }, headline: { propDefinition: [ addToCalendarPro, "headline", ], }, text: { propDefinition: [ addToCalendarPro, "text", ], }, fields: { propDefinition: [ addToCalendarPro, "fields", ], }, emailRsvpDoi: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_doi", }), ], label: "Email Template: DOI", }, emailRsvpThankYou: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_thank_you", }), ], label: "Email Template: Thank you", }, emailRsvpSignupConfirmation: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_signup_confirmation", }), ], label: "Email Template: Sign-up Confirmation", }, emailRsvpChangeConfirmation: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_change_confirmation", }), ], label: "Email Template: Change Confirmation", }, emailRsvpEventUpdate: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_event_update", }), ], label: "Email Template: Event Update", }, emailRsvpMagicLink: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_magic_link", }), ], label: "Email Template: Magic Link", }, emailRsvpSecondSignup: { propDefinition: [ addToCalendarPro, "emailTemplateId", () => ({ type: "rsvp_second_signup", }), ], label: "Email Template: Second Sign-up", }, }, async run({ $ }) { const response = await this.addToCalendarPro.createRsvpTemplate({ $, data: { name: this.rsvpTemplateName, max: this.max, maxpp: this.maxPP, expires: this.expires, maybe_option: this.maybeOption, initial_confirmation: this.initialConfirmation, doi: this.doi, headline: this.headline, text: this.text, fields: parseObject(this.fields), email_rsvp_doi: this.emailRsvpDoi, email_rsvp_thank_you: this.emailRsvpThankYou, email_rsvp_signup_confirmation: this.emailRsvpSignupConfirmation, email_rsvp_change_confirmation: this.emailRsvpChangeConfirmation, email_rsvp_event_update: this.emailRsvpEventUpdate, email_rsvp_magic_link: this.emailRsvpMagicLink, email_rsvp_second_signup: this.emailRsvpSecondSignup, }, }); $.export("$summary", "Successfully created RSVP template."); return response; }, };