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<string, unknown> = {}) {
const auth = pickAuthInput(params)
const { meetingId, occurrenceId } = normalizeMeetingLocator(params)
const response = await request<Record<string, unknown>>({
...auth,
path: `/meetings/${meetingId}`,
query: occurrenceId ? { occurrence_id: occurrenceId } : undefined,
throwOnError: true,
})
return {
...slimMeeting(asRecord(response.data)),
auth: response.auth,
}
}