actions/update-event/update-event.mjs
import teamup from "../../teamup.app.mjs"; import utils from "../../common/utils.mjs"; export default { key: "teamup-update-event", name: "Update Event", description: "Updates an existing event on a specified calendar. [See the documentation](https://apidocs.teamup.com/docs/api/8b5d0d1556103-update-an-event)", version: "0.0.2", annotations: { destructiveHint: true, openWorldHint: true, readOnlyHint: false, }, type: "action", props: { teamup, calendarKey: { propDefinition: [ teamup, "calendarKey", ], }, eventId: { propDefinition: [ teamup, "eventId", (c) => ({ calendarKey: c.calendarKey, }), ], }, subCalendarIds: { propDefinition: [ teamup, "subCalendarIds", (c) => ({ calendarKey: c.calendarKey, }), ], optional: true, }, title: { propDefinition: [ teamup, "title", ], optional: true, }, startDate: { propDefinition: [ teamup, "startDate", ], optional: true, }, endDate: { propDefinition: [ teamup, "endDate", ], optional: true, }, location: { propDefinition: [ teamup, "location", ], }, notes: { propDefinition: [ teamup, "notes", ], }, }, async run({ $ }) { const { event: originalEvent } = await this.teamup.getEvent({ calendarKey: this.calendarKey, eventId: this.eventId, $, }); const data = utils.cleanObject({ id: this.eventId, subcalendar_ids: this.subCalendarIds || originalEvent.subcalendar_ids, title: this.title, start_dt: this.startDate || originalEvent.start_dt, end_dt: this.endDate || originalEvent.end_dt, location: this.location, notes: this.notes, }); const { event } = await this.teamup.updateEvent({ calendarKey: this.calendarKey, eventId: this.eventId, data, $, }); if (event?.id) { $.export("$summary", `Successfully updated event with id ${event.id}`); } return event; }, };