2dddd4ce77
* feat: create trpc route to fetch download link Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in> * fix: removing file, adding isdownloadable logix Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in> * chore Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in> * fix: type error Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in> * Some performance enhancements and better error logging * Add error message here too --------- Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in> Co-authored-by: Alex van Andel <me@alexvanandel.com>
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
import type { GetRecordingsResponseSchema, GetAccessLinkResponseSchema } from "@calcom/prisma/zod-utils";
|
|
|
|
import type { EventBusyDate } from "./Calendar";
|
|
import type { CredentialPayload } from "./Credential";
|
|
|
|
export interface VideoCallData {
|
|
type: string;
|
|
id: string;
|
|
password: string;
|
|
url: string;
|
|
}
|
|
|
|
// VideoApiAdapter is defined by the Video App. The App currently can choose to not define it. So, consider in type that VideoApiAdapter can be undefined.
|
|
export type 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[]>;
|
|
|
|
getRecordings?(roomName: string): Promise<GetRecordingsResponseSchema>;
|
|
|
|
getRecordingDownloadLink?(recordingId: string): Promise<GetAccessLinkResponseSchema>;
|
|
}
|
|
| undefined;
|
|
|
|
export type VideoApiAdapterFactory = (credential: CredentialPayload) => VideoApiAdapter;
|