47 lines
1.9 KiB
TypeScript
47 lines
1.9 KiB
TypeScript
import prisma from "@calcom/prisma";
|
|
|
|
export class CalVideoSettingsRepository {
|
|
static async deleteCalVideoSettings(eventTypeId: number) {
|
|
return await prisma.calVideoSettings.delete({
|
|
where: { eventTypeId },
|
|
});
|
|
}
|
|
|
|
static async createOrUpdateCalVideoSettings({
|
|
eventTypeId,
|
|
calVideoSettings,
|
|
}: {
|
|
eventTypeId: number;
|
|
calVideoSettings: {
|
|
disableRecordingForGuests?: boolean | null;
|
|
disableRecordingForOrganizer?: boolean | null;
|
|
disableTranscriptionForGuests?: boolean | null;
|
|
disableTranscriptionForOrganizer?: boolean | null;
|
|
enableAutomaticTranscription?: boolean | null;
|
|
redirectUrlOnExit?: string | null;
|
|
};
|
|
}) {
|
|
return await prisma.calVideoSettings.upsert({
|
|
where: { eventTypeId },
|
|
update: {
|
|
disableRecordingForGuests: calVideoSettings.disableRecordingForGuests ?? false,
|
|
disableRecordingForOrganizer: calVideoSettings.disableRecordingForOrganizer ?? false,
|
|
enableAutomaticTranscription: calVideoSettings.enableAutomaticTranscription ?? false,
|
|
disableTranscriptionForGuests: calVideoSettings.disableTranscriptionForGuests ?? false,
|
|
disableTranscriptionForOrganizer: calVideoSettings.disableTranscriptionForOrganizer ?? false,
|
|
redirectUrlOnExit: calVideoSettings.redirectUrlOnExit ?? null,
|
|
updatedAt: new Date(),
|
|
},
|
|
create: {
|
|
disableRecordingForGuests: calVideoSettings.disableRecordingForGuests ?? false,
|
|
disableRecordingForOrganizer: calVideoSettings.disableRecordingForOrganizer ?? false,
|
|
enableAutomaticTranscription: calVideoSettings.enableAutomaticTranscription ?? false,
|
|
disableTranscriptionForGuests: calVideoSettings.disableTranscriptionForGuests ?? false,
|
|
disableTranscriptionForOrganizer: calVideoSettings.disableTranscriptionForOrganizer ?? false,
|
|
redirectUrlOnExit: calVideoSettings.redirectUrlOnExit ?? null,
|
|
eventTypeId,
|
|
},
|
|
});
|
|
}
|
|
}
|