* feat: cal video settings * fix: var names * feat: finish setting * chore: add enabled * chore: remove logs * feat: support redirect url on exit * feat: finish settings * refactor: improve UI * chore: remove logs * fix: type err * fix: finish redirect url * fix: add type * chore: change schema * fix: type error * chore: improvements * chore: remove index * feat: add organizer * chore: remove log * chore: use safe parse * fix: add nullable * refactor: hide toggles if platorm * chore: update description --------- Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: supalarry <laurisskraucis@gmail.com>
38 lines
1.2 KiB
TypeScript
38 lines
1.2 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;
|
|
redirectUrlOnExit?: string | null;
|
|
};
|
|
}) {
|
|
return await prisma.calVideoSettings.upsert({
|
|
where: { eventTypeId },
|
|
update: {
|
|
disableRecordingForGuests: calVideoSettings.disableRecordingForGuests ?? false,
|
|
disableRecordingForOrganizer: calVideoSettings.disableRecordingForOrganizer ?? false,
|
|
redirectUrlOnExit: calVideoSettings.redirectUrlOnExit ?? null,
|
|
updatedAt: new Date(),
|
|
},
|
|
create: {
|
|
disableRecordingForGuests: calVideoSettings.disableRecordingForGuests ?? false,
|
|
disableRecordingForOrganizer: calVideoSettings.disableRecordingForOrganizer ?? false,
|
|
redirectUrlOnExit: calVideoSettings.redirectUrlOnExit ?? null,
|
|
eventTypeId,
|
|
},
|
|
});
|
|
}
|
|
}
|