async setTalentAttendeeId()

in src/providers/TalentMeetingProvider.tsx [65:98]


  async setTalentAttendeeId(talentAttendeeIdForTalentMeeting: string) {
    if (!this.talentMeeting || !this.talentMeeting.id) {
      throw new Error(
        'Cannot set talentAttendeeID for unknown talentMeeting ID'
      );
    }

    const liveEventURL = await constructLiveEventsURL(this.liveEventId);

    try {
      const liveEventResponse = await fetch(liveEventURL, {
        method: 'PUT',
        headers: this.getRequestHeaders(),
        body: JSON.stringify({ talentAttendeeIdForTalentMeeting }),
      });

      const errorLabel = 'Error updating live event';
      const json = await jsonOrBail(liveEventResponse, () => errorLabel);

      if (hasError(liveEventResponse)) {
        throw new Error(`${errorLabel}: ${json.message}`);
      }

      const liveEventPayload = json;
      this.talentMeeting = ({
        id: liveEventPayload.talentMeetingId,
        talentAttendeeId: liveEventPayload.talentAttendeeIdForTalentMeeting,
      } as unknown) as TalentMeeting;
    } catch (e) {
      throw new Error(
        'Failed to set up the talent attendeeId for the talent meeting.'
      );
    }
  }