diff --git a/apps/web/app/_trpc/trpc-client.ts b/apps/web/app/_trpc/trpc-client.ts index ec62cfd87e..3519c7b909 100644 --- a/apps/web/app/_trpc/trpc-client.ts +++ b/apps/web/app/_trpc/trpc-client.ts @@ -15,7 +15,6 @@ const resolveEndpoint = (links: any) => { // to the correct API endpoints. // - viewer.me - 2 segment paths like this are for logged in requests // - viewer.public.i18n - 3 segments paths can be public or authed - // - viewer.eventTypes.heavy.create - 4 segments paths for heavy sub-router // eslint-disable-next-line @typescript-eslint/no-explicit-any return (ctx: any) => { const parts = ctx.op.path.split("."); @@ -24,11 +23,7 @@ const resolveEndpoint = (links: any) => { if (parts.length == 2) { endpoint = parts[0] as keyof typeof links; path = parts[1]; - } else if (parts.length >= 3 && parts[2] === "heavy") { - endpoint = parts[1] + "/heavy" as keyof typeof links; - path = parts[3]; - } - else { + } else { endpoint = parts[1] as keyof typeof links; path = parts.splice(2, parts.length - 2).join("."); } diff --git a/apps/web/components/getting-started/steps-views/UserProfile.tsx b/apps/web/components/getting-started/steps-views/UserProfile.tsx index b89a15e27c..220965bcf3 100644 --- a/apps/web/components/getting-started/steps-views/UserProfile.tsx +++ b/apps/web/components/getting-started/steps-views/UserProfile.tsx @@ -38,7 +38,7 @@ const UserProfile = ({ user }: UserProfileProps) => { const [imageSrc, setImageSrc] = useState(user?.avatar || ""); const utils = trpc.useUtils(); const router = useRouter(); - const createEventType = trpc.viewer.eventTypes.heavy.create.useMutation(); + const createEventType = trpc.viewer.eventTypesHeavy.create.useMutation(); const telemetry = useTelemetry(); const [firstRender, setFirstRender] = useState(true); diff --git a/apps/web/modules/apps/installation/[[...step]]/step-view.tsx b/apps/web/modules/apps/installation/[[...step]]/step-view.tsx index 76acc80eea..48a2bb2bf6 100644 --- a/apps/web/modules/apps/installation/[[...step]]/step-view.tsx +++ b/apps/web/modules/apps/installation/[[...step]]/step-view.tsx @@ -177,7 +177,7 @@ const OnboardingPage = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [eventTypeGroups]); - const updateMutation = trpc.viewer.eventTypes.heavy.update.useMutation({ + const updateMutation = trpc.viewer.eventTypesHeavy.update.useMutation({ onSuccess: async (data) => { showToast(t("event_type_updated_successfully", { eventTypeTitle: data.eventType?.title }), "success"); }, diff --git a/apps/web/modules/event-types/views/event-types-listing-view.tsx b/apps/web/modules/event-types/views/event-types-listing-view.tsx index dc5015e8ea..c57aebf234 100644 --- a/apps/web/modules/event-types/views/event-types-listing-view.tsx +++ b/apps/web/modules/event-types/views/event-types-listing-view.tsx @@ -271,7 +271,7 @@ export const InfiniteEventTypeList = ({ }, }); - const setHiddenMutation = trpc.viewer.eventTypes.heavy.update.useMutation({ + const setHiddenMutation = trpc.viewer.eventTypesHeavy.update.useMutation({ onMutate: async (data) => { await utils.viewer.eventTypes.getEventTypesFromGroup.cancel(); const previousValue = utils.viewer.eventTypes.getEventTypesFromGroup.getInfiniteData({ diff --git a/apps/web/pages/api/trpc/eventTypes/heavy/[trpc].ts b/apps/web/pages/api/trpc/eventTypesHeavy/[trpc].ts similarity index 100% rename from apps/web/pages/api/trpc/eventTypes/heavy/[trpc].ts rename to apps/web/pages/api/trpc/eventTypesHeavy/[trpc].ts diff --git a/apps/web/playwright/dynamic-booking-pages.e2e.ts b/apps/web/playwright/dynamic-booking-pages.e2e.ts index eb3c32c52a..8ef6ac30e6 100644 --- a/apps/web/playwright/dynamic-booking-pages.e2e.ts +++ b/apps/web/playwright/dynamic-booking-pages.e2e.ts @@ -113,7 +113,7 @@ test("multiple duration selection updates event length correctly", async ({ page await page.getByTestId("vertical-tab-event_advanced_tab_title").click(); await page.fill('[name="eventName"]', "{Event duration} event btwn {Organiser} {Scheduler}"); await page.locator('[data-testid="update-eventtype"]').click(); - await page.waitForResponse("/api/trpc/eventTypes/heavy/update?batch=1"); + await page.waitForResponse("/api/trpc/eventTypesHeavy/update?batch=1"); }); await page.goto(`/${user.username}/multiple-duration`); diff --git a/apps/web/playwright/event-types.e2e.ts b/apps/web/playwright/event-types.e2e.ts index ec8ec3a3cb..ba68567a5c 100644 --- a/apps/web/playwright/event-types.e2e.ts +++ b/apps/web/playwright/event-types.e2e.ts @@ -131,7 +131,7 @@ test.describe("Event Types tests", () => { expect(formTitle).toBe(firstTitle); expect(formSlug).toContain(firstSlug); - const submitPromise = page.waitForResponse("/api/trpc/eventTypes/heavy/duplicate?batch=1"); + const submitPromise = page.waitForResponse("/api/trpc/eventTypesHeavy/duplicate?batch=1"); await page.getByTestId("continue").click(); const response = await submitPromise; expect(response.status()).toBe(200); @@ -144,7 +144,7 @@ test.describe("Event Types tests", () => { await page.waitForURL((url) => { return !!url.pathname.match(/\/event-types\/.+/); }); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); }); @@ -167,7 +167,7 @@ test.describe("Event Types tests", () => { await page.locator("[data-testid=add-location]").click(); await fillLocation(page, locationData[2], 2); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); @@ -314,7 +314,7 @@ test.describe("Event Types tests", () => { const locationAddress = "New Delhi"; await fillLocation(page, locationAddress, 0, false); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); @@ -429,7 +429,7 @@ test.describe("Event Types tests", () => { await page.locator('[aria-label="Timezone Select"]').fill("New York"); await page.keyboard.press("Enter"); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); await page.goto("/event-types"); diff --git a/apps/web/playwright/fixtures/regularBookings.ts b/apps/web/playwright/fixtures/regularBookings.ts index bf5df1496e..e23b6fd178 100644 --- a/apps/web/playwright/fixtures/regularBookings.ts +++ b/apps/web/playwright/fixtures/regularBookings.ts @@ -50,7 +50,7 @@ export function createBookingPageFixture(page: Page) { await page.goto("/event-types"); }, updateEventType: async () => { - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); }, diff --git a/apps/web/playwright/hash-my-url.e2e.ts b/apps/web/playwright/hash-my-url.e2e.ts index c6bab0fcc2..850fd6c763 100644 --- a/apps/web/playwright/hash-my-url.e2e.ts +++ b/apps/web/playwright/hash-my-url.e2e.ts @@ -42,7 +42,7 @@ test.describe("private links creation and usage", () => { const $url = await page.locator('[data-testid="private-link-url"]').inputValue(); // click update - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); // book using generated url hash @@ -74,7 +74,7 @@ test.describe("private links creation and usage", () => { await page.locator("[data-testid=event-slug]").first().fill("somethingrandom"); await expect(page.locator('[data-testid="event-slug"]').first()).toHaveValue("somethingrandom"); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); await page.locator("[data-testid=vertical-tab-event_advanced_tab_title]").click(); @@ -113,7 +113,7 @@ test.describe("private links creation and usage", () => { await page.locator('[data-testid="private-link-expiration-settings-save"]').click(); await page.waitForLoadState("networkidle"); // click update - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); // book using generated url hash @@ -164,7 +164,7 @@ test.describe("private links creation and usage", () => { await page.locator('[data-testid="private-link-expiration-settings-save"]').click(); await page.waitForLoadState("networkidle"); // click update - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); // book using generated url hash diff --git a/apps/web/playwright/lib/testUtils.ts b/apps/web/playwright/lib/testUtils.ts index 106b3ff521..5f4fcb9865 100644 --- a/apps/web/playwright/lib/testUtils.ts +++ b/apps/web/playwright/lib/testUtils.ts @@ -476,7 +476,7 @@ export async function gotoBookingPage(page: Page) { } export async function saveEventType(page: Page) { - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); } diff --git a/apps/web/playwright/manage-booking-questions.e2e.ts b/apps/web/playwright/manage-booking-questions.e2e.ts index 844fc8e947..044b5ff1c1 100644 --- a/apps/web/playwright/manage-booking-questions.e2e.ts +++ b/apps/web/playwright/manage-booking-questions.e2e.ts @@ -677,7 +677,7 @@ async function openBookingFormInPreviewTab(context: PlaywrightTestArgs["context" } async function saveEventType(page: Page) { - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); } diff --git a/apps/web/playwright/managed-event-types.e2e.ts b/apps/web/playwright/managed-event-types.e2e.ts index 8c4e265999..a9ee8b8912 100644 --- a/apps/web/playwright/managed-event-types.e2e.ts +++ b/apps/web/playwright/managed-event-types.e2e.ts @@ -242,5 +242,5 @@ async function gotoBookingPage(page: Page) { } async function saveAndWaitForResponse(page: Page) { - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1"); + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1"); } diff --git a/apps/web/playwright/organization/booking.e2e.ts b/apps/web/playwright/organization/booking.e2e.ts index 5333ac4465..85bb1e3ba0 100644 --- a/apps/web/playwright/organization/booking.e2e.ts +++ b/apps/web/playwright/organization/booking.e2e.ts @@ -407,7 +407,7 @@ test.describe("Bookings", () => { await page.goto(`/event-types/${teamEvent.id}?tabName=advanced`); await page.getByTestId("requires-confirmation").click(); await page.getByTestId("update-eventtype").click(); - await page.waitForResponse((response) => response.url().includes("/api/trpc/eventTypes/heavy/update")); + await page.waitForResponse((response) => response.url().includes("/api/trpc/eventTypesHeavy/update")); await doOnOrgDomain( { @@ -783,7 +783,7 @@ const markPhoneNumberAsRequiredAndEmailAsOptional = async (page: Page, eventId: const emailRequiredFiled = await page.locator('[data-testid="field-required"]').first(); await emailRequiredFiled.click(); await page.getByTestId("field-add-save").click(); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); }; @@ -797,7 +797,7 @@ const markPhoneNumberAsRequiredField = async (page: Page, eventId: number) => { const phoneRequiredFiled = await page.locator('[data-testid="field-required"]').first(); await phoneRequiredFiled.click(); await page.getByTestId("field-add-save").click(); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); }; diff --git a/apps/web/playwright/organization/organization-invitation.e2e.ts b/apps/web/playwright/organization/organization-invitation.e2e.ts index 154bd1eeff..496bdc1ae4 100644 --- a/apps/web/playwright/organization/organization-invitation.e2e.ts +++ b/apps/web/playwright/organization/organization-invitation.e2e.ts @@ -461,7 +461,7 @@ test.describe("Organization", () => { await page.locator('[data-testid="fixed-hosts-select"]').click(); await page.locator(`text="${invitedUserEmail}"`).click(); await page.locator('[data-testid="update-eventtype"]').click(); - await page.waitForResponse("/api/trpc/eventTypes/heavy/update?batch=1"); + await page.waitForResponse("/api/trpc/eventTypesHeavy/update?batch=1"); await expectPageToBeNotFound({ page, url: `/team/${team.slug}/${teamEvent.slug}` }); await doOnOrgDomain( diff --git a/apps/web/playwright/payment-apps.e2e.ts b/apps/web/playwright/payment-apps.e2e.ts index 629d872a4e..2b5cf89b1e 100644 --- a/apps/web/playwright/payment-apps.e2e.ts +++ b/apps/web/playwright/payment-apps.e2e.ts @@ -1,7 +1,7 @@ import { expect } from "@playwright/test"; +import type { Page } from "@playwright/test"; import prisma from "@calcom/prisma"; -import type { Page } from "@playwright/test"; import { test } from "./lib/fixtures"; import { selectFirstAvailableTimeSlotNextMonth, submitAndWaitForResponse } from "./lib/testUtils"; @@ -41,7 +41,7 @@ test.describe("Payment app", () => { await page.getByPlaceholder("Price").click(); await page.getByPlaceholder("Price").fill("200"); await page.getByText("SatoshissatsCurrencyBTCPayment optionCollect payment on booking").click(); - await submitAndWaitForResponse(page, "/api/trpc/eventTypes/heavy/update?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/eventTypesHeavy/update?batch=1", { action: () => page.locator("[data-testid=update-eventtype]").click(), }); diff --git a/packages/features/eventtypes/components/DuplicateDialog.tsx b/packages/features/eventtypes/components/DuplicateDialog.tsx index e0ead8a3a6..5c99330aeb 100644 --- a/packages/features/eventtypes/components/DuplicateDialog.tsx +++ b/packages/features/eventtypes/components/DuplicateDialog.tsx @@ -70,7 +70,7 @@ const DuplicateDialog = () => { } }, [searchParams?.get("dialog")]); - const duplicateMutation = trpc.viewer.eventTypes.heavy.duplicate.useMutation({ + const duplicateMutation = trpc.viewer.eventTypesHeavy.duplicate.useMutation({ onSuccess: async ({ eventType }) => { await router.replace(`/event-types/${eventType.id}`); diff --git a/packages/features/eventtypes/hooks/useCreateEventType.ts b/packages/features/eventtypes/hooks/useCreateEventType.ts index 71e319b09e..2203b14191 100644 --- a/packages/features/eventtypes/hooks/useCreateEventType.ts +++ b/packages/features/eventtypes/hooks/useCreateEventType.ts @@ -46,7 +46,7 @@ export const useCreateEventType = ( const [searchTerm, setSearchTerm] = useState(""); const debouncedSearchTerm = useDebounce(searchTerm, 500); - const createMutation = trpc.viewer.eventTypes.heavy.create.useMutation({ + const createMutation = trpc.viewer.eventTypesHeavy.create.useMutation({ onSuccess: async ({ eventType }) => { onSuccessMutation(eventType); diff --git a/packages/features/eventtypes/lib/types.ts b/packages/features/eventtypes/lib/types.ts index a0c0ac9256..eb136d56d1 100644 --- a/packages/features/eventtypes/lib/types.ts +++ b/packages/features/eventtypes/lib/types.ts @@ -184,7 +184,7 @@ export type LocationFormValues = Pick { const currentValues = form.getValues(); diff --git a/packages/trpc/react/shared.ts b/packages/trpc/react/shared.ts index 5a02fede3f..6c626efc06 100644 --- a/packages/trpc/react/shared.ts +++ b/packages/trpc/react/shared.ts @@ -16,7 +16,7 @@ export const ENDPOINTS = [ "deploymentSetup", "dsync", "eventTypes", - "eventTypes/heavy", + "eventTypesHeavy", "features", "i18n", "insights", diff --git a/packages/trpc/react/trpc.ts b/packages/trpc/react/trpc.ts index ef36d27086..28a43dc1bf 100644 --- a/packages/trpc/react/trpc.ts +++ b/packages/trpc/react/trpc.ts @@ -27,7 +27,6 @@ const resolveEndpoint = (links: any) => { // to the correct API endpoints. // - viewer.me - 2 segment paths like this are for logged in requests // - viewer.public.i18n - 3 segments paths can be public or authed - // - viewer.eventTypes.heavy.create - 4 segments paths for heavy sub-router // eslint-disable-next-line @typescript-eslint/no-explicit-any return (ctx: any) => { const parts = ctx.op.path.split("."); @@ -36,9 +35,6 @@ const resolveEndpoint = (links: any) => { if (parts.length == 2) { endpoint = parts[0] as keyof typeof links; path = parts[1]; - } else if (parts.length >= 3 && parts[2] === "heavy") { - endpoint = parts[1] + "/heavy" as keyof typeof links; - path = parts[3]; } else { endpoint = parts[1] as keyof typeof links; path = parts.splice(2, parts.length - 2).join("."); diff --git a/packages/trpc/server/routers/viewer/_router.tsx b/packages/trpc/server/routers/viewer/_router.tsx index 1f9ebee913..1ce6646198 100644 --- a/packages/trpc/server/routers/viewer/_router.tsx +++ b/packages/trpc/server/routers/viewer/_router.tsx @@ -2,7 +2,7 @@ import { userAdminRouter } from "@calcom/features/ee/users/server/trpc-router"; import { featureFlagRouter } from "@calcom/features/flags/server/router"; import { insightsRouter } from "@calcom/features/insights/server/trpc-router"; -import { router, mergeRouters } from "../../trpc"; +import { router } from "../../trpc"; import app_RoutingForms from "../apps/routing-forms/_router"; import { loggedInViewerRouter } from "../loggedInViewer/_router"; import { publicViewerRouter } from "../publicViewer/_router"; @@ -53,12 +53,8 @@ export const viewerRouter = router({ calendars: calendarsRouter, calVideo: calVideoRouter, credentials: credentialsRouter, - eventTypes: mergeRouters( - eventTypesRouter, - router({ - heavy: heavyEventTypesRouter, - }) - ), + eventTypes: eventTypesRouter, + eventTypesHeavy: heavyEventTypesRouter, availability: availabilityRouter, teams: viewerTeamsRouter, timezones: timezonesRouter, diff --git a/packages/trpc/server/routers/viewer/workflows/util.ts b/packages/trpc/server/routers/viewer/workflows/util.ts index ec7c1eaa7d..d23fe72dca 100644 --- a/packages/trpc/server/routers/viewer/workflows/util.ts +++ b/packages/trpc/server/routers/viewer/workflows/util.ts @@ -27,10 +27,10 @@ import { getTeamIdFromEventType } from "@calcom/lib/getTeamIdFromEventType"; import { getTranslation } from "@calcom/lib/server/i18n"; import { getTimeFormatStringFromUserTimeFormat } from "@calcom/lib/timeFormat"; import prisma from "@calcom/prisma"; -import { WorkflowType as PrismaWorkflowType, type Workflow } from "@calcom/prisma/client"; +import type { Workflow } from "@calcom/prisma/client"; import type { Prisma, WorkflowStep } from "@calcom/prisma/client"; import type { TimeUnit } from "@calcom/prisma/enums"; -import { WorkflowTemplates } from "@calcom/prisma/enums"; +import { WorkflowTemplates, WorkflowType as PrismaWorkflowType } from "@calcom/prisma/enums"; import { SchedulingType } from "@calcom/prisma/enums"; import { BookingStatus, MembershipRole, WorkflowActions, WorkflowTriggerEvents } from "@calcom/prisma/enums"; import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils";