fathom-typescript
Version:
Fathom's official TypeScript SDK.
61 lines • 2.97 kB
JavaScript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { remap as remap$ } from "../../../lib/primitives.js";
import { safeParse } from "../../../lib/schemas.js";
import { ActionItem$inboundSchema } from "./actionitem.js";
import { CRMMatches$inboundSchema } from "./crmmatches.js";
import { FathomUser$inboundSchema } from "./fathomuser.js";
import { Invitee$inboundSchema } from "./invitee.js";
import { MeetingSummary$inboundSchema, } from "./meetingsummary.js";
import { TranscriptItem$inboundSchema, } from "./transcriptitem.js";
export const CalendarInviteesDomainsType = {
OnlyInternal: "only_internal",
OneOrMoreExternal: "one_or_more_external",
};
/** @internal */
export const CalendarInviteesDomainsType$inboundSchema = z.nativeEnum(CalendarInviteesDomainsType);
/** @internal */
export const Meeting$inboundSchema = z.object({
title: z.string(),
meeting_title: z.nullable(z.string()),
recording_id: z.number().int(),
url: z.string(),
share_url: z.string(),
created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
scheduled_start_time: z.string().datetime({ offset: true }).transform(v => new Date(v)),
scheduled_end_time: z.string().datetime({ offset: true }).transform(v => new Date(v)),
recording_start_time: z.string().datetime({ offset: true }).transform(v => new Date(v)),
recording_end_time: z.string().datetime({ offset: true }).transform(v => new Date(v)),
calendar_invitees_domains_type: CalendarInviteesDomainsType$inboundSchema,
transcript_language: z.string(),
transcript: z.nullable(z.array(TranscriptItem$inboundSchema)).optional(),
default_summary: z.nullable(MeetingSummary$inboundSchema).optional(),
action_items: z.nullable(z.array(ActionItem$inboundSchema)).optional(),
calendar_invitees: z.array(Invitee$inboundSchema),
recorded_by: FathomUser$inboundSchema,
crm_matches: z.nullable(CRMMatches$inboundSchema).optional(),
}).transform((v) => {
return remap$(v, {
"meeting_title": "meetingTitle",
"recording_id": "recordingId",
"share_url": "shareUrl",
"created_at": "createdAt",
"scheduled_start_time": "scheduledStartTime",
"scheduled_end_time": "scheduledEndTime",
"recording_start_time": "recordingStartTime",
"recording_end_time": "recordingEndTime",
"calendar_invitees_domains_type": "calendarInviteesDomainsType",
"transcript_language": "transcriptLanguage",
"default_summary": "defaultSummary",
"action_items": "actionItems",
"calendar_invitees": "calendarInvitees",
"recorded_by": "recordedBy",
"crm_matches": "crmMatches",
});
});
export function meetingFromJSON(jsonString) {
return safeParse(jsonString, (x) => Meeting$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Meeting' from JSON`);
}
//# sourceMappingURL=meeting.js.map