import { normalizeMeetingLocator, pickAuthInput, request } from '../core.ts' import { asRecord, slimMeeting } from '../shape.ts' /** * Fetch one Zoom meeting by id or `zoom.us/j/{id}` URL. * * @example * import getZoomMeeting from 'kody:@kody/zoom/meetings/get' * const meeting = await getZoomMeeting({ meetingId: '11111111111' }) */ export default async function getZoomMeeting(params: Record = {}) { const auth = pickAuthInput(params) const { meetingId, occurrenceId } = normalizeMeetingLocator(params) const response = await request>({ ...auth, path: `/meetings/${meetingId}`, query: occurrenceId ? { occurrence_id: occurrenceId } : undefined, throwOnError: true, }) return { ...slimMeeting(asRecord(response.data)), auth: response.auth, } }