Files
calendar/packages/features/calendar-cache/calendar-cache.repository.interface.ts
T
2024-12-19 19:34:24 +00:00

17 lines
745 B
TypeScript

import type { CalendarCache, Prisma } from "@prisma/client";
import type { SelectedCalendarEventTypeIds } from "@calcom/types/Calendar";
export type FreeBusyArgs = { timeMin: string; timeMax: string; items: { id: string }[] };
export interface ICalendarCacheRepository {
watchCalendar(args: { calendarId: string; eventTypeIds: SelectedCalendarEventTypeIds }): Promise<any>;
unwatchCalendar(args: { calendarId: string; eventTypeIds: SelectedCalendarEventTypeIds }): Promise<any>;
upsertCachedAvailability(
credentialId: number,
args: FreeBusyArgs,
value: Prisma.JsonNullValueInput | Prisma.InputJsonValue
): Promise<void>;
getCachedAvailability(credentialId: number, args: FreeBusyArgs): Promise<CalendarCache | null>;
}