import zoomAdmin from "../../zoom_admin.app.mjs";
export default {
  key: "zoom_admin-custom-events",
  type: "source",
  name: "Custom Events",
  description: "Listen for any events tied to your Zoom account",
  version: "0.1.8",
  props: {
    zoomAdmin,
    eventNameOptions: {
      label: "Zoom Events",
      type: "string[]",
      async options() {
        return [
          "account.created",
          "account.updated",
          "account.settings_updated",
          "account.disassociated",
          "meeting.alert",
          "meeting.created",
          "meeting.updated",
          "meeting.deleted",
          "meeting.started",
          "meeting.ended",
          "meeting.registration_created",
          "meeting.registration_approved",
          "meeting.registration_cancelled",
          "meeting.registration_denied",
          "meeting.sharing_started",
          "meeting.sharing_ended",
          "meeting.participant_jbh_joined",
          "meeting.participant_joined",
          "meeting.participant_left",
          "meeting.participant_joined_waiting_room",
          "meeting.participant_admitted",
          "meeting.participant_put_in_waiting_room",
          "meeting.participant_left_waiting_room",
          "recording.started",
          "recording.paused",
          "recording.resumed",
          "recording.stopped",
          "recording.completed",
          "recording.renamed",
          "recording.trashed",
          "recording.deleted",
          "recording.recovered",
          "recording.transcript_completed",
          "recording.registration_created",
          "recording.registration_approved",
          "recording.registration_denied",
          "user.created",
          "user.invitation_accepted",
          "user.updated",
          "user.settings_updated",
          "user.deactivated",
          "user.activated",
          "user.disassociated",
          "user.deleted",
          "user.presence_status_updated",
          "user.personal_notes_updated",
          "user.signed_in",
          "user.signed_out",
          "webinar.created",
          "webinar.updated",
          "webinar.deleted",
          "webinar.started",
          "webinar.ended",
          "webinar.alert",
          "webinar.sharing_started",
          "webinar.sharing_ended",
          "webinar.registration_created",
          "webinar.registration_approved",
          "webinar.registration_denied",
          "webinar.registration_cancelled",
          "webinar.participant_joined",
          "webinar.participant_left",
          "zoomroom.alert",
          "zoomroom.delayed_alert",
        ];
      },
    },
    zoomApphook: {
      type: "$.interface.apphook",
      appProp: "zoomAdmin",
      async eventNames() {
        return this.eventNameOptions;
      },
    },
  },
  async run(event) {
    console.log(event);
    this.$emit(event, {
      summary: event.event,
    });
  },
};