refactor: replace Prisma.validator<Select>() with satisfies syntax (#22270)
* refactor: replace Prisma.validator<Select>() with satisfies syntax
- Convert all Prisma.validator<Prisma.SomeSelect>()({...}) patterns to {...} satisfies Prisma.SomeSelect
- Update import { Prisma } to import type { Prisma } where only used for types
- Maintain existing functionality while modernizing TypeScript syntax
- Covers 89+ files across packages/prisma/selects, repository classes, tRPC handlers, and API modules
Co-Authored-By: alex@cal.com <me@alexvanandel.com>
* refactor: complete remaining Prisma.validator conversions
- Update test fixture files with satisfies syntax
- Apply lint-staged formatting fixes
- Complete refactoring of all remaining files
Co-Authored-By: alex@cal.com <me@alexvanandel.com>
* revert: remove unintended platform library update
- Revert yarn.lock changes that updated @calcom/platform-libraries from 0.0.236 to 0.0.239
- This was an unintended side effect of the refactoring process
- Keep only the intended Prisma.validator → satisfies syntax changes
Co-Authored-By: alex@cal.com <me@alexvanandel.com>
* fix: update ESLint plugin references to correct package name
- Change @calcom/eslint to @calcom/eslint-plugin-eslint in eslint-preset.js
- Resolves 'Failed to load plugin @calcom/eslint' error causing CI failures
Co-Authored-By: alex@cal.com <me@alexvanandel.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: alex@cal.com <me@alexvanandel.com>
This commit is contained in:
1 parent
673823cb97
commit
79b6278883
56 files changed
+157
-158
No files matched your search
@@ -1,9 +1,9 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
const credentialForCalendarRepositorySelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
const credentialForCalendarRepositorySelect = {
|
||||
id: true,
|
||||
appId: true,
|
||||
type: true,
|
||||
@@ -16,7 +16,7 @@ const credentialForCalendarRepositorySelect = Prisma.validator<Prisma.Credential
|
||||
teamId: true,
|
||||
key: true,
|
||||
invalid: true,
|
||||
});
|
||||
} satisfies Prisma.CredentialSelect;
|
||||
|
||||
@Injectable()
|
||||
export class CalendarsRepository {
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
NotFoundException,
|
||||
} from "@nestjs/common";
|
||||
import { User } from "@prisma/client";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import { DateTime } from "luxon";
|
||||
import { z } from "zod";
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { CreateScheduleInput_2024_04_15 } from "@/ee/schedules/schedules_2024_04
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
@Injectable()
|
||||
export class SchedulesRepository_2024_04_15 {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
|
||||
@Injectable()
|
||||
export class BookingSeatRepository {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { calendar_v3 } from "@googleapis/calendar";
|
||||
import { Injectable, UnauthorizedException } from "@nestjs/common";
|
||||
import { NotFoundException } from "@nestjs/common";
|
||||
import { Logger } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import { JWT } from "googleapis-common";
|
||||
|
||||
import { DelegationCredentialRepository, OAuth2UniversalSchema } from "@calcom/platform-libraries/app-store";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { GOOGLE_MEET_TYPE } from "@calcom/platform-constants";
|
||||
|
||||
@@ -9,7 +9,7 @@ import { GOOGLE_MEET_TYPE } from "@calcom/platform-constants";
|
||||
export class ConferencingRepository {
|
||||
constructor(private readonly dbRead: PrismaReadService, private readonly dbWrite: PrismaWriteService) {}
|
||||
|
||||
private readonly credentialSelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
private readonly credentialSelect = {
|
||||
id: true,
|
||||
type: true,
|
||||
userId: true,
|
||||
@@ -20,7 +20,7 @@ export class ConferencingRepository {
|
||||
billingCycleStart: true,
|
||||
invalid: true,
|
||||
delegationCredentialId: true,
|
||||
});
|
||||
} satisfies Prisma.CredentialSelect;
|
||||
|
||||
async findConferencingApps(userId: number) {
|
||||
return this.dbRead.prisma.credential.findMany({
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { APPS_TYPE_ID_MAPPING } from "@calcom/platform-constants";
|
||||
import { credentialForCalendarServiceSelect } from "@calcom/platform-libraries";
|
||||
|
||||
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
import { PrismaWriteService } from "../../prisma/prisma-write.service";
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
@Injectable()
|
||||
export class OrganizationsDelegationCredentialRepository {
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { MembershipUserSelect } from "@/modules/teams/memberships/teams-memberships.repository";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
import { UpdateOrgMembershipDto } from "./inputs/update-organization-membership.input";
|
||||
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
|
||||
import { SkipTakePagination } from "@calcom/platform-types";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
@Injectable()
|
||||
export class ManagedOrganizationsRepository {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
@Injectable()
|
||||
export class OrganizationsUsersRepository {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { CreateTeamMembershipInput } from "@/modules/teams/memberships/inputs/cr
|
||||
import { UpdateTeamMembershipInput } from "@/modules/teams/memberships/inputs/update-team-membership.input";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export const MembershipUserSelect: Prisma.UserSelect = {
|
||||
username: true,
|
||||
|
||||
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class AttendeeRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class BookingSeatRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -3,7 +3,7 @@ import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Booking, User } from "@prisma/client";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class BookingsRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export class CredentialsRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -4,7 +4,7 @@ import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { EventType } from "@prisma/client";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class EventTypesRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class HostsRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export class ProfileRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -3,7 +3,7 @@ import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Schedule } from "@prisma/client";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class SchedulesRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export class VerifiedResourcesRepositoryFixtures {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export class WebhookRepositoryFixture {
|
||||
private primaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -2,7 +2,7 @@ import { PrismaReadService } from "@/modules/prisma/prisma-read.service";
|
||||
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
|
||||
import { TestingModule } from "@nestjs/testing";
|
||||
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
|
||||
export class WorkflowRepositoryFixture {
|
||||
private prismaReadClient: PrismaReadService["prisma"];
|
||||
|
||||
@@ -11,7 +11,7 @@ import { getPlaceholderAvatar } from "@calcom/lib/defaultAvatarImage";
|
||||
import type { LocationObject } from "@calcom/lib/location";
|
||||
import { UserRepository } from "@calcom/lib/server/repository/user";
|
||||
import prisma from "@calcom/prisma";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import { eventTypeBookingFields } from "@calcom/prisma/zod-utils";
|
||||
|
||||
import { STEPS } from "~/apps/installation/[[...step]]/constants";
|
||||
@@ -73,7 +73,7 @@ const getAppBySlug = async (appSlug: string) => {
|
||||
};
|
||||
|
||||
const getEventTypes = async (userId: number, teamIds?: number[]) => {
|
||||
const eventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
const eventTypeSelect = {
|
||||
id: true,
|
||||
description: true,
|
||||
durationLimits: true,
|
||||
@@ -95,7 +95,7 @@ const getEventTypes = async (userId: number, teamIds?: number[]) => {
|
||||
destinationCalendar: true,
|
||||
bookingFields: true,
|
||||
calVideoSettings: true,
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
let eventTypeGroups: TEventTypeGroup[] | null = [];
|
||||
|
||||
if (teamIds && teamIds.length > 0) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import Stripe from "stripe";
|
||||
|
||||
import { HttpError } from "@calcom/lib/http-error";
|
||||
@@ -24,12 +24,12 @@ export async function getStripeCustomerIdFromUserId(userId: number) {
|
||||
return customerId;
|
||||
}
|
||||
|
||||
const userType = Prisma.validator<Prisma.UserArgs>()({
|
||||
const userType = {
|
||||
select: {
|
||||
email: true,
|
||||
metadata: true,
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserArgs;
|
||||
|
||||
export type UserType = Prisma.UserGetPayload<typeof userType>;
|
||||
/** This will retrieve the customer ID from Stripe or create it if it doesn't exists yet. */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { HttpError as HttpCode } from "@calcom/lib/http-error";
|
||||
import prisma from "@calcom/prisma";
|
||||
@@ -25,12 +25,12 @@ export async function getStripeCustomerIdFromUserId(userId: number) {
|
||||
return customerId;
|
||||
}
|
||||
|
||||
const userType = Prisma.validator<Prisma.UserArgs>()({
|
||||
const userType = {
|
||||
select: {
|
||||
email: true,
|
||||
metadata: true,
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserArgs;
|
||||
|
||||
type UserType = Prisma.UserGetPayload<typeof userType>;
|
||||
/** This will retrieve the customer ID from Stripe or create it if it doesn't exists yet. */
|
||||
|
||||
@@ -57,8 +57,8 @@ module.exports = {
|
||||
overrides: [
|
||||
{
|
||||
files: ["*.ts", "*.tsx"],
|
||||
extends: ["plugin:@typescript-eslint/recommended", "plugin:@calcom/eslint/recommended"],
|
||||
plugins: ["@typescript-eslint", "@calcom/eslint"],
|
||||
extends: ["plugin:@typescript-eslint/recommended", "plugin:@calcom/eslint-plugin-eslint/recommended"],
|
||||
plugins: ["@typescript-eslint", "@calcom/eslint-plugin-eslint"],
|
||||
parser: "@typescript-eslint/parser",
|
||||
rules: {
|
||||
"@typescript-eslint/consistent-type-imports": [
|
||||
@@ -84,7 +84,7 @@ module.exports = {
|
||||
files: ["apps/website/**/*.{tsx,ts}"],
|
||||
rules: {
|
||||
/** TODO: Remove once website router is migrated */
|
||||
"@calcom/eslint/deprecated-imports-next-router": "off",
|
||||
"@calcom/eslint-plugin-eslint/deprecated-imports-next-router": "off",
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const teamBillingSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
export const teamBillingSelect = {
|
||||
id: true,
|
||||
metadata: true,
|
||||
isOrganization: true,
|
||||
parentId: true,
|
||||
});
|
||||
} satisfies Prisma.TeamSelect;
|
||||
|
||||
export type TeamBillingType = Prisma.TeamGetPayload<{
|
||||
select: typeof teamBillingSelect;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import dayjs from "@calcom/dayjs";
|
||||
import prisma from "@calcom/prisma";
|
||||
import type { EventType, User, WorkflowReminder, WorkflowStep } from "@calcom/prisma/client";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { EventType, User, WorkflowReminder, WorkflowStep, Prisma } from "@calcom/prisma/client";
|
||||
import { WorkflowMethods } from "@calcom/prisma/enums";
|
||||
|
||||
type PartialWorkflowStep =
|
||||
@@ -92,10 +91,10 @@ export async function getAllRemindersToDelete(): Promise<RemindersToDeleteType[]
|
||||
},
|
||||
};
|
||||
|
||||
const select = Prisma.validator<Prisma.WorkflowReminderSelect>()({
|
||||
const select = {
|
||||
referenceId: true,
|
||||
id: true,
|
||||
});
|
||||
} satisfies Prisma.WorkflowReminderSelect;
|
||||
|
||||
const remindersToDelete = await getWorkflowReminders(whereFilter, select);
|
||||
|
||||
@@ -113,17 +112,17 @@ export async function getAllRemindersToCancel(): Promise<RemindersToCancelType[]
|
||||
},
|
||||
};
|
||||
|
||||
const select = Prisma.validator<Prisma.WorkflowReminderSelect>()({
|
||||
const select = {
|
||||
referenceId: true,
|
||||
id: true,
|
||||
});
|
||||
} satisfies Prisma.WorkflowReminderSelect;
|
||||
|
||||
const remindersToCancel = await getWorkflowReminders(whereFilter, select);
|
||||
|
||||
return remindersToCancel;
|
||||
}
|
||||
|
||||
export const select = Prisma.validator<Prisma.WorkflowReminderSelect>()({
|
||||
export const select = {
|
||||
id: true,
|
||||
scheduledDate: true,
|
||||
isMandatoryReminder: true,
|
||||
@@ -200,7 +199,7 @@ export const select = Prisma.validator<Prisma.WorkflowReminderSelect>()({
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.WorkflowReminderSelect;
|
||||
|
||||
export async function getAllUnscheduledReminders(): Promise<PartialWorkflowReminder[]> {
|
||||
const whereFilter: Prisma.WorkflowReminderWhereInput = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { User as UserType } from "@prisma/client";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import type { LocationObject } from "@calcom/app-store/locations";
|
||||
import { privacyFilteredLocations } from "@calcom/app-store/locations";
|
||||
@@ -29,7 +29,7 @@ import {
|
||||
} from "@calcom/prisma/zod-utils";
|
||||
import type { UserProfile } from "@calcom/types/UserProfile";
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
id: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
@@ -48,10 +48,10 @@ const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
},
|
||||
},
|
||||
defaultScheduleId: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const getPublicEventSelect = (fetchAllUsers: boolean) => {
|
||||
return Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
return {
|
||||
id: true,
|
||||
title: true,
|
||||
description: true,
|
||||
@@ -152,7 +152,7 @@ const getPublicEventSelect = (fetchAllUsers: boolean) => {
|
||||
hidden: true,
|
||||
assignAllTeamMembers: true,
|
||||
rescheduleWithSameRoundRobinHost: true,
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
};
|
||||
|
||||
export async function isCurrentlyAvailable({
|
||||
@@ -535,9 +535,9 @@ export const getPublicEvent = async (
|
||||
};
|
||||
};
|
||||
|
||||
const eventData = Prisma.validator<Prisma.EventTypeArgs>()({
|
||||
const eventData = {
|
||||
select: getPublicEventSelect(true),
|
||||
});
|
||||
} satisfies Prisma.EventTypeArgs;
|
||||
|
||||
type Event = Prisma.EventTypeGetPayload<typeof eventData>;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import short from "short-uuid";
|
||||
import { v5 as uuidv5 } from "uuid";
|
||||
|
||||
@@ -14,7 +14,7 @@ import { CalendarEventClass } from "./class";
|
||||
|
||||
const log = logger.getSubLogger({ prefix: ["builders", "CalendarEvent", "builder"] });
|
||||
const translator = short();
|
||||
const userSelect = Prisma.validator<Prisma.UserArgs>()({
|
||||
const userSelect = {
|
||||
select: {
|
||||
id: true,
|
||||
email: true,
|
||||
@@ -26,7 +26,7 @@ const userSelect = Prisma.validator<Prisma.UserArgs>()({
|
||||
destinationCalendar: true,
|
||||
locale: true,
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserArgs;
|
||||
|
||||
type User = Omit<Prisma.UserGetPayload<typeof userSelect>, "selectedCalendars">;
|
||||
type PersonAttendeeCommonFields = Pick<User, "id" | "email" | "name" | "locale" | "timeZone" | "username">;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
//import "server-only";
|
||||
import { getLocationGroupedOptions } from "@calcom/app-store/server";
|
||||
@@ -41,7 +41,7 @@ export const getEventTypeById = async ({
|
||||
isTrpcCall = false,
|
||||
isUserOrganizationAdmin,
|
||||
}: getEventTypeByIdProps) => {
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
@@ -50,7 +50,7 @@ export const getEventTypeById = async ({
|
||||
locale: true,
|
||||
defaultScheduleId: true,
|
||||
isPlatformManaged: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const rawEventType = await EventTypeRepository.findById({ id: eventTypeId, userId });
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { getAppFromSlug } from "@calcom/app-store/utils";
|
||||
import { DATABASE_CHUNK_SIZE } from "@calcom/lib/constants";
|
||||
@@ -37,7 +37,7 @@ export async function getTeamWithMembers(args: {
|
||||
|
||||
// This should improve performance saving already app data found.
|
||||
const appDataMap = new Map();
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
username: true,
|
||||
email: true,
|
||||
name: true,
|
||||
@@ -69,7 +69,7 @@ export async function getTeamWithMembers(args: {
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
let lookupBy;
|
||||
|
||||
if (id) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import type { FormResponse } from "@calcom/app-store/routing-forms/types/types";
|
||||
import { withReporting } from "@calcom/lib/sentryWrapper";
|
||||
@@ -197,7 +197,7 @@ export class BookingRepository {
|
||||
},
|
||||
};
|
||||
|
||||
const bookingsSelect = Prisma.validator<Prisma.BookingSelect>()({
|
||||
const bookingsSelect = {
|
||||
id: true,
|
||||
uid: true,
|
||||
userId: true,
|
||||
@@ -225,7 +225,7 @@ export class BookingRepository {
|
||||
},
|
||||
},
|
||||
}),
|
||||
});
|
||||
} satisfies Prisma.BookingSelect;
|
||||
|
||||
const currentBookingsAllUsersQueryOne = prisma.booking.findMany({
|
||||
where: {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { prisma } from "@calcom/prisma";
|
||||
import type { PartialReference } from "@calcom/types/EventManager";
|
||||
|
||||
const bookingReferenceSelect = Prisma.validator<Prisma.BookingReferenceSelect>()({
|
||||
const bookingReferenceSelect = {
|
||||
id: true,
|
||||
type: true,
|
||||
uid: true,
|
||||
@@ -12,7 +12,7 @@ const bookingReferenceSelect = Prisma.validator<Prisma.BookingReferenceSelect>()
|
||||
credentialId: true,
|
||||
deleted: true,
|
||||
bookingId: true,
|
||||
});
|
||||
} satisfies Prisma.BookingReferenceSelect;
|
||||
|
||||
export class BookingReferenceRepository {
|
||||
static async findDailyVideoReferenceByRoomName({ roomName }: { roomName: string }) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { EventType as PrismaEventType } from "@prisma/client";
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import logger from "@calcom/lib/logger";
|
||||
import { prisma, availabilityUserSelect } from "@calcom/prisma";
|
||||
@@ -44,12 +44,12 @@ type HostWithLegacySelectedCalendars<
|
||||
user: UserWithLegacySelectedCalendars<TSelectedCalendar, TUser>;
|
||||
};
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
id: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
function hostsWithSelectedCalendars<TSelectedCalendar extends { eventTypeId: number | null }, THost, TUser>(
|
||||
hosts: HostWithLegacySelectedCalendars<TSelectedCalendar, THost, TUser>[]
|
||||
@@ -373,12 +373,12 @@ export class EventTypeRepository {
|
||||
orderBy?: Prisma.EventTypeOrderByWithRelationInput[];
|
||||
where?: Prisma.EventTypeWhereInput;
|
||||
}) {
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
id: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const select = {
|
||||
...eventTypeSelect,
|
||||
@@ -466,7 +466,7 @@ export class EventTypeRepository {
|
||||
}
|
||||
|
||||
static async findById({ id, userId }: { id: number; userId: number }) {
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
@@ -475,9 +475,9 @@ export class EventTypeRepository {
|
||||
locale: true,
|
||||
defaultScheduleId: true,
|
||||
isPlatformManaged: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const CompleteEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
const CompleteEventTypeSelect = {
|
||||
id: true,
|
||||
title: true,
|
||||
slug: true,
|
||||
@@ -711,7 +711,7 @@ export class EventTypeRepository {
|
||||
redirectUrlOnExit: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
|
||||
// This is more efficient than using a complex join with team.members in the query
|
||||
const userTeamIds = await MembershipRepository.findUserTeamIds({ userId });
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { availabilityUserSelect, prisma, type PrismaTransaction, type PrismaClient } from "@calcom/prisma";
|
||||
import { MembershipRole } from "@calcom/prisma/client";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import { credentialForCalendarServiceSelect } from "@calcom/prisma/selects/credential";
|
||||
|
||||
import logger from "../../logger";
|
||||
@@ -18,30 +18,30 @@ type IMembership = {
|
||||
createdAt?: Date;
|
||||
};
|
||||
|
||||
const membershipSelect = Prisma.validator<Prisma.MembershipSelect>()({
|
||||
const membershipSelect = {
|
||||
id: true,
|
||||
teamId: true,
|
||||
userId: true,
|
||||
accepted: true,
|
||||
role: true,
|
||||
disableImpersonation: true,
|
||||
});
|
||||
} satisfies Prisma.MembershipSelect;
|
||||
|
||||
const teamParentSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
const teamParentSelect = {
|
||||
id: true,
|
||||
name: true,
|
||||
slug: true,
|
||||
logoUrl: true,
|
||||
parentId: true,
|
||||
metadata: true,
|
||||
});
|
||||
} satisfies Prisma.TeamSelect;
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
id: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const getWhereForfindAllByUpId = async (upId: string, where?: Prisma.MembershipWhereInput) => {
|
||||
const lookupTarget = ProfileRepository.getLookupTarget(upId);
|
||||
@@ -197,7 +197,7 @@ export class MembershipRepository {
|
||||
})
|
||||
);
|
||||
|
||||
const select = Prisma.validator<Prisma.MembershipSelect>()({
|
||||
const select = {
|
||||
id: true,
|
||||
teamId: true,
|
||||
userId: true,
|
||||
@@ -232,7 +232,7 @@ export class MembershipRepository {
|
||||
: {}),
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.MembershipSelect;
|
||||
|
||||
return await prisma.membership.findMany({
|
||||
where: prismaWhere,
|
||||
|
||||
@@ -6,7 +6,7 @@ import { getOrgUsernameFromEmail } from "@calcom/features/auth/signup/utils/getO
|
||||
import { DATABASE_CHUNK_SIZE } from "@calcom/lib/constants";
|
||||
import { safeStringify } from "@calcom/lib/safeStringify";
|
||||
import prisma from "@calcom/prisma";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import type { Team } from "@calcom/prisma/client";
|
||||
import { userMetadata } from "@calcom/prisma/zod-utils";
|
||||
import type { UpId, UserAsPersonalProfile, UserProfile } from "@calcom/types/UserProfile";
|
||||
@@ -14,7 +14,7 @@ import type { UpId, UserAsPersonalProfile, UserProfile } from "@calcom/types/Use
|
||||
import logger from "../../logger";
|
||||
import { getParsedTeam } from "./teamUtils";
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
name: true,
|
||||
avatarUrl: true,
|
||||
username: true,
|
||||
@@ -26,22 +26,22 @@ const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
endTime: true,
|
||||
bufferTime: true,
|
||||
isPlatformManaged: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
const membershipSelect = Prisma.validator<Prisma.MembershipSelect>()({
|
||||
const membershipSelect = {
|
||||
id: true,
|
||||
teamId: true,
|
||||
userId: true,
|
||||
accepted: true,
|
||||
role: true,
|
||||
disableImpersonation: true,
|
||||
});
|
||||
} satisfies Prisma.MembershipSelect;
|
||||
|
||||
const log = logger.getSubLogger({ prefix: ["repository/profile"] });
|
||||
const organizationSettingsSelect = Prisma.validator<Prisma.OrganizationSettingsSelect>()({
|
||||
const organizationSettingsSelect = {
|
||||
allowSEOIndexing: true,
|
||||
orgProfileRedirectsToVerifiedDomain: true,
|
||||
});
|
||||
} satisfies Prisma.OrganizationSettingsSelect;
|
||||
const organizationSelect = {
|
||||
id: true,
|
||||
slug: true,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { prisma } from "@calcom/prisma";
|
||||
import { credentialForCalendarServiceSelect } from "@calcom/prisma/selects/credential";
|
||||
@@ -257,7 +257,7 @@ export class SelectedCalendarRepository {
|
||||
}
|
||||
|
||||
static async findMany({ where, select, orderBy }: FindManyArgs) {
|
||||
const args = Prisma.validator<Prisma.SelectedCalendarFindManyArgs>()({ where, select, orderBy });
|
||||
const args = { where, select, orderBy } satisfies Prisma.SelectedCalendarFindManyArgs;
|
||||
return await prisma.selectedCalendar.findMany(args);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
import type { z } from "zod";
|
||||
|
||||
import { whereClauseForOrgWithSlugOrRequestedSlug } from "@calcom/ee/organizations/lib/orgDomains";
|
||||
@@ -153,7 +153,7 @@ export async function getOrg<TeamSelect extends Prisma.TeamSelect>({
|
||||
});
|
||||
}
|
||||
|
||||
const teamSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
const teamSelect = {
|
||||
id: true,
|
||||
name: true,
|
||||
slug: true,
|
||||
@@ -163,7 +163,7 @@ const teamSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
isOrganization: true,
|
||||
organizationSettings: true,
|
||||
isPlatform: true,
|
||||
});
|
||||
} satisfies Prisma.TeamSelect;
|
||||
|
||||
export class TeamRepository {
|
||||
static async findById({ id }: { id: number }) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import logger from "@calcom/lib/logger";
|
||||
import { safeStringify } from "@calcom/lib/safeStringify";
|
||||
import { getTranslation } from "@calcom/lib/server/i18n";
|
||||
import prisma from "@calcom/prisma";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import type { User as UserType } from "@calcom/prisma/client";
|
||||
import type { CreationSource } from "@calcom/prisma/enums";
|
||||
import { MembershipRole } from "@calcom/prisma/enums";
|
||||
@@ -27,7 +27,7 @@ const log = logger.getSubLogger({ prefix: ["[repository/user]"] });
|
||||
|
||||
export const ORGANIZATION_ID_UNKNOWN = "ORGANIZATION_ID_UNKNOWN";
|
||||
|
||||
const teamSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
const teamSelect = {
|
||||
id: true,
|
||||
name: true,
|
||||
slug: true,
|
||||
@@ -36,9 +36,9 @@ const teamSelect = Prisma.validator<Prisma.TeamSelect>()({
|
||||
organizationSettings: true,
|
||||
isOrganization: true,
|
||||
isPlatform: true,
|
||||
});
|
||||
} satisfies Prisma.TeamSelect;
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
id: true,
|
||||
username: true,
|
||||
name: true,
|
||||
@@ -77,7 +77,7 @@ const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
lastActiveAt: true,
|
||||
identityProvider: true,
|
||||
teams: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
export class UserRepository {
|
||||
static async findTeamsByUserId({ userId }: { userId: UserType["id"] }) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import type { WorkflowStep } from "@calcom/ee/workflows/lib/types";
|
||||
import { hasFilter } from "@calcom/features/filters/lib/hasFilter";
|
||||
import prisma from "@calcom/prisma";
|
||||
import { MembershipRole } from "@calcom/prisma/client";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import { WorkflowMethods } from "@calcom/prisma/enums";
|
||||
import type { TFilteredListInputSchema } from "@calcom/trpc/server/routers/viewer/workflows/filteredList.schema";
|
||||
import type { TGetVerifiedEmailsInputSchema } from "@calcom/trpc/server/routers/viewer/workflows/getVerifiedEmails.schema";
|
||||
@@ -23,7 +23,7 @@ export type TGetInputSchema = z.infer<typeof ZGetInputSchema>;
|
||||
|
||||
const deleteScheduledWhatsappReminder = deleteScheduledSMSReminder;
|
||||
|
||||
const { include: includedFields } = Prisma.validator<Prisma.WorkflowDefaultArgs>()({
|
||||
const { include: includedFields } = {
|
||||
include: {
|
||||
activeOn: {
|
||||
select: {
|
||||
@@ -63,7 +63,7 @@ const { include: includedFields } = Prisma.validator<Prisma.WorkflowDefaultArgs>
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.WorkflowDefaultArgs;
|
||||
|
||||
export class WorkflowRepository {
|
||||
private static log = logger.getSubLogger({ prefix: ["workflow"] });
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const safeAppSelect = Prisma.validator<Prisma.AppSelect>()({
|
||||
export const safeAppSelect = {
|
||||
slug: true,
|
||||
dirName: true,
|
||||
/** Omitting to avoid frontend leaks */
|
||||
@@ -9,4 +9,4 @@ export const safeAppSelect = Prisma.validator<Prisma.AppSelect>()({
|
||||
createdAt: true,
|
||||
updatedAt: true,
|
||||
enabled: true,
|
||||
});
|
||||
} satisfies Prisma.AppSelect;
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const bookingMinimalSelect = Prisma.validator<Prisma.BookingSelect>()({
|
||||
export const bookingMinimalSelect = {
|
||||
id: true,
|
||||
title: true,
|
||||
userPrimaryEmail: true,
|
||||
@@ -10,4 +10,4 @@ export const bookingMinimalSelect = Prisma.validator<Prisma.BookingSelect>()({
|
||||
endTime: true,
|
||||
attendees: true,
|
||||
metadata: true,
|
||||
});
|
||||
} satisfies Prisma.BookingSelect;
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const credentialForCalendarServiceSelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
export const credentialForCalendarServiceSelect = {
|
||||
id: true,
|
||||
appId: true,
|
||||
type: true,
|
||||
@@ -14,9 +14,9 @@ export const credentialForCalendarServiceSelect = Prisma.validator<Prisma.Creden
|
||||
key: true,
|
||||
invalid: true,
|
||||
delegationCredentialId: true,
|
||||
});
|
||||
} satisfies Prisma.CredentialSelect;
|
||||
|
||||
export const safeCredentialSelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
export const safeCredentialSelect = {
|
||||
id: true,
|
||||
type: true,
|
||||
/** Omitting to avoid frontend leaks */
|
||||
@@ -31,4 +31,4 @@ export const safeCredentialSelect = Prisma.validator<Prisma.CredentialSelect>()(
|
||||
appId: true,
|
||||
invalid: true,
|
||||
delegationCredentialId: true,
|
||||
});
|
||||
} satisfies Prisma.CredentialSelect;
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const baseEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
export const baseEventTypeSelect = {
|
||||
id: true,
|
||||
title: true,
|
||||
description: true,
|
||||
@@ -15,9 +15,9 @@ export const baseEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
requiresConfirmation: true,
|
||||
requiresBookerEmailVerification: true,
|
||||
canSendCalVideoTranscriptionEmails: true,
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
|
||||
export const bookEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
export const bookEventTypeSelect = {
|
||||
id: true,
|
||||
title: true,
|
||||
slug: true,
|
||||
@@ -74,9 +74,9 @@ export const bookEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
|
||||
export const availiblityPageEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
export const availiblityPageEventTypeSelect = {
|
||||
id: true,
|
||||
title: true,
|
||||
availability: true,
|
||||
@@ -131,4 +131,4 @@ export const availiblityPageEventTypeSelect = Prisma.validator<Prisma.EventTypeS
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const paymentDataSelect = Prisma.validator<Prisma.PaymentSelect>()({
|
||||
export const paymentDataSelect = {
|
||||
data: true,
|
||||
success: true,
|
||||
uid: true,
|
||||
@@ -75,4 +75,4 @@ export const paymentDataSelect = Prisma.validator<Prisma.PaymentSelect>()({
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.PaymentSelect;
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
export const availabilityUserSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
export const availabilityUserSelect = {
|
||||
id: true,
|
||||
timeZone: true,
|
||||
email: true,
|
||||
@@ -28,9 +28,9 @@ export const availabilityUserSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
availability: true,
|
||||
selectedCalendars: true,
|
||||
travelSchedules: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
export const baseUserSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
export const baseUserSelect = {
|
||||
name: true,
|
||||
destinationCalendar: true,
|
||||
locale: true,
|
||||
@@ -39,9 +39,9 @@ export const baseUserSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
brandColor: true,
|
||||
darkBrandColor: true,
|
||||
...availabilityUserSelect,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
export const userSelect = Prisma.validator<Prisma.UserArgs>()({
|
||||
export const userSelect = {
|
||||
select: {
|
||||
name: true,
|
||||
allowDynamicBooking: true,
|
||||
@@ -55,4 +55,4 @@ export const userSelect = Prisma.validator<Prisma.UserArgs>()({
|
||||
locked: true,
|
||||
...availabilityUserSelect,
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserArgs;
|
||||
@@ -636,10 +636,10 @@ export const updateHandler = async ({ ctx, input }: UpdateOptions) => {
|
||||
});
|
||||
}
|
||||
|
||||
const updatedEventTypeSelect = Prisma.validator<Prisma.EventTypeSelect>()({
|
||||
const updatedEventTypeSelect = {
|
||||
slug: true,
|
||||
schedulingType: true,
|
||||
});
|
||||
} satisfies Prisma.EventTypeSelect;
|
||||
let updatedEventType: Prisma.EventTypeGetPayload<{ select: typeof updatedEventTypeSelect }>;
|
||||
try {
|
||||
updatedEventType = await ctx.prisma.eventType.update({
|
||||
|
||||
@@ -221,7 +221,7 @@ export const updateProfileHandler = async ({ ctx, input }: UpdateProfileOptions)
|
||||
});
|
||||
}
|
||||
|
||||
const updatedUserSelect = Prisma.validator<Prisma.UserDefaultArgs>()({
|
||||
const updatedUserSelect = {
|
||||
select: {
|
||||
id: true,
|
||||
username: true,
|
||||
@@ -239,7 +239,7 @@ export const updateProfileHandler = async ({ ctx, input }: UpdateProfileOptions)
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.UserDefaultArgs;
|
||||
|
||||
let updatedUser: Prisma.UserGetPayload<typeof updatedUserSelect>;
|
||||
|
||||
|
||||
@@ -47,7 +47,8 @@ import { RoutingFormResponseRepository } from "@calcom/lib/server/repository/for
|
||||
import { UserRepository, withSelectedCalendars } from "@calcom/lib/server/repository/user";
|
||||
import getSlots from "@calcom/lib/slots";
|
||||
import prisma, { availabilityUserSelect } from "@calcom/prisma";
|
||||
import { PeriodType, Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import { PeriodType } from "@calcom/prisma/client";
|
||||
import { SchedulingType } from "@calcom/prisma/enums";
|
||||
import { credentialForCalendarServiceSelect } from "@calcom/prisma/selects/credential";
|
||||
import type { EventBusyDate, EventBusyDetails } from "@calcom/types/Calendar";
|
||||
@@ -66,7 +67,7 @@ type GetAvailabilityUserWithoutDelegationCredentials = Omit<GetAvailabilityUser,
|
||||
type GetAvailabilityUserWithDelegationCredentials = Omit<GetAvailabilityUser, "credentials"> & {
|
||||
credentials: CredentialForCalendarService[];
|
||||
};
|
||||
const selectSelectedSlots = Prisma.validator<Prisma.SelectedSlotsDefaultArgs>()({
|
||||
const selectSelectedSlots = {
|
||||
select: {
|
||||
id: true,
|
||||
slotUtcStartDate: true,
|
||||
@@ -76,7 +77,7 @@ const selectSelectedSlots = Prisma.validator<Prisma.SelectedSlotsDefaultArgs>()(
|
||||
eventTypeId: true,
|
||||
uid: true,
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.SelectedSlotsDefaultArgs;
|
||||
|
||||
type SelectedSlots = Prisma.SelectedSlotsGetPayload<typeof selectSelectedSlots>;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { getAppFromSlug } from "@calcom/app-store/utils";
|
||||
import { prisma } from "@calcom/prisma";
|
||||
@@ -14,7 +14,7 @@ type GetUserConnectedAppsOptions = {
|
||||
input: TGetUserConnectedAppsInputSchema;
|
||||
};
|
||||
|
||||
const credentialSelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
const credentialSelect = {
|
||||
userId: true,
|
||||
app: {
|
||||
select: {
|
||||
@@ -27,7 +27,7 @@ const credentialSelect = Prisma.validator<Prisma.CredentialSelect>()({
|
||||
externalId: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.CredentialSelect;
|
||||
|
||||
type Credential = Prisma.CredentialGetPayload<{ select: typeof credentialSelect }>;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
import type { Prisma } from "@prisma/client";
|
||||
|
||||
import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
|
||||
import { getBookerBaseUrlSync } from "@calcom/lib/getBookerUrl/client";
|
||||
@@ -17,7 +17,7 @@ type ListMembersHandlerOptions = {
|
||||
input: TListMembersInputSchema;
|
||||
};
|
||||
|
||||
const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
const userSelect = {
|
||||
username: true,
|
||||
email: true,
|
||||
name: true,
|
||||
@@ -26,7 +26,7 @@ const userSelect = Prisma.validator<Prisma.UserSelect>()({
|
||||
bio: true,
|
||||
disableImpersonation: true,
|
||||
lastActiveAt: true,
|
||||
});
|
||||
} satisfies Prisma.UserSelect;
|
||||
|
||||
export const listMembersHandler = async ({ ctx, input }: ListMembersHandlerOptions) => {
|
||||
const { cursor, limit, teamId, searchTerm } = input;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { WorkflowRepository } from "@calcom/lib/server/repository/workflow";
|
||||
import type { PrismaClient } from "@calcom/prisma";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import type { TrpcSessionUser } from "@calcom/trpc/server/types";
|
||||
|
||||
import type { TFilteredListInputSchema } from "./filteredList.schema";
|
||||
@@ -13,7 +13,7 @@ type FilteredListOptions = {
|
||||
input: TFilteredListInputSchema;
|
||||
};
|
||||
|
||||
const { include: includedFields } = Prisma.validator<Prisma.WorkflowDefaultArgs>()({
|
||||
const { include: includedFields } = {
|
||||
include: {
|
||||
activeOn: {
|
||||
select: {
|
||||
@@ -53,7 +53,7 @@ const { include: includedFields } = Prisma.validator<Prisma.WorkflowDefaultArgs>
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.WorkflowDefaultArgs;
|
||||
|
||||
export const filteredListHandler = async ({ ctx, input }: FilteredListOptions) => {
|
||||
return await WorkflowRepository.getFilteredList({ userId: ctx.user.id, input });
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { TFormSchema } from "@calcom/app-store/routing-forms/trpc/forms.schema";
|
||||
import { hasFilter } from "@calcom/features/filters/lib/hasFilter";
|
||||
import { prisma } from "@calcom/prisma";
|
||||
import { Prisma } from "@calcom/prisma/client";
|
||||
import type { Prisma } from "@calcom/prisma/client";
|
||||
import { entries } from "@calcom/prisma/zod-utils";
|
||||
import type { TrpcSessionUser } from "@calcom/trpc/server/types";
|
||||
|
||||
@@ -19,7 +19,7 @@ type RoutingFormOrderOptions = {
|
||||
export const workflowOrderHandler = async ({ ctx, input }: RoutingFormOrderOptions) => {
|
||||
const { user } = ctx;
|
||||
|
||||
const { include: includedFields } = Prisma.validator<Prisma.WorkflowDefaultArgs>()({
|
||||
const { include: includedFields } = {
|
||||
include: {
|
||||
activeOn: {
|
||||
select: {
|
||||
@@ -48,7 +48,7 @@ export const workflowOrderHandler = async ({ ctx, input }: RoutingFormOrderOptio
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
} satisfies Prisma.WorkflowDefaultArgs;
|
||||
|
||||
const allWorkflows = await prisma.workflow.findMany({
|
||||
where: {
|
||||
|
||||
Reference in new issue
Block a user