Files
calendar/packages/prisma/selects/user.ts
T
Joe Au-YeungandGitHub c0aa97178c feat: Prevent watchlisted entities from creating bookings (#19107)
* Add `searchForAllBlockedRecords` to watchlist repository

* Create `checkIfUsersAreBlocked`

* Call `checkIfUsersAreBlocked` in `loadAndValidateUsers`

* Draft test

* Add tests

* Type fix

* Type fix
2025-03-28 01:11:10 +00:00

59 lines
1.2 KiB
TypeScript

import { Prisma } from "@prisma/client";
export const availabilityUserSelect = Prisma.validator<Prisma.UserSelect>()({
id: true,
timeZone: true,
email: true,
bufferTime: true,
startTime: true,
username: true,
endTime: true,
timeFormat: true,
defaultScheduleId: true,
// Relationships
schedules: {
select: {
availability: {
select: {
date: true,
startTime: true,
endTime: true,
days: true,
},
},
timeZone: true,
id: true,
},
},
availability: true,
selectedCalendars: true,
travelSchedules: true,
});
export const baseUserSelect = Prisma.validator<Prisma.UserSelect>()({
name: true,
destinationCalendar: true,
locale: true,
hideBranding: true,
theme: true,
brandColor: true,
darkBrandColor: true,
...availabilityUserSelect,
});
export const userSelect = Prisma.validator<Prisma.UserArgs>()({
select: {
name: true,
allowDynamicBooking: true,
destinationCalendar: true,
locale: true,
hideBranding: true,
theme: true,
brandColor: true,
darkBrandColor: true,
metadata: true,
locked: true,
...availabilityUserSelect,
},
});