23 lines
610 B
TypeScript
23 lines
610 B
TypeScript
![]() |
import type { Credential } from "@prisma/client";
|
||
|
|
||
|
import type { EventBusyDate } from "./Calendar";
|
||
|
|
||
|
export interface VideoCallData {
|
||
|
type: string;
|
||
|
id: string;
|
||
|
password: string;
|
||
|
url: string;
|
||
|
}
|
||
|
|
||
|
export interface VideoApiAdapter {
|
||
|
createMeeting(event: CalendarEvent): Promise<VideoCallData>;
|
||
|
|
||
|
updateMeeting(bookingRef: PartialReference, event: CalendarEvent): Promise<VideoCallData>;
|
||
|
|
||
|
deleteMeeting(uid: string): Promise<unknown>;
|
||
|
|
||
|
getAvailability(dateFrom?: string, dateTo?: string): Promise<EventBusyDate[]>;
|
||
|
}
|
||
|
|
||
|
export type VideoApiAdapterFactory = (credential: Credential) => VideoApiAdapter;
|