diff --git a/apps/web/modules/availability/[schedule]/schedule-view.tsx b/apps/web/modules/availability/[schedule]/schedule-view.tsx index 4d91fce777..fb01385536 100644 --- a/apps/web/modules/availability/[schedule]/schedule-view.tsx +++ b/apps/web/modules/availability/[schedule]/schedule-view.tsx @@ -41,7 +41,7 @@ export const AvailabilitySettingsWebWrapper = ({ const isPending = isFetchingPending && !scheduleProp; const schedule = scheduleProp ?? scheduleData; - const { data: travelSchedulesData } = trpc.viewer.getTravelSchedules.useQuery(undefined, { + const { data: travelSchedulesData } = trpc.viewer.travelSchedules.get.useQuery(undefined, { enabled: !travelSchedulesProp, }); const travelSchedules = travelSchedulesProp ?? travelSchedulesData; diff --git a/apps/web/modules/settings/my-account/general-view.tsx b/apps/web/modules/settings/my-account/general-view.tsx index 024accadcb..0b4056342b 100644 --- a/apps/web/modules/settings/my-account/general-view.tsx +++ b/apps/web/modules/settings/my-account/general-view.tsx @@ -63,7 +63,7 @@ const SkeletonLoader = () => { interface GeneralViewProps { localeProp: string; user: RouterOutputs["viewer"]["me"]["get"]; - travelSchedules: RouterOutputs["viewer"]["getTravelSchedules"]; + travelSchedules: RouterOutputs["viewer"]["travelSchedules"]["get"]; revalidatePage: GeneralQueryViewProps["revalidatePage"]; } @@ -77,7 +77,7 @@ const GeneralQueryView = ({ revalidatePage }: GeneralQueryViewProps) => { const { data: user, isPending } = trpc.viewer.me.get.useQuery(); const { data: travelSchedules, isPending: isPendingTravelSchedules } = - trpc.viewer.getTravelSchedules.useQuery(); + trpc.viewer.travelSchedules.get.useQuery(); if (isPending || isPendingTravelSchedules) return ; if (!user) { diff --git a/apps/web/pages/api/trpc/ooo/[trpc].ts b/apps/web/pages/api/trpc/ooo/[trpc].ts new file mode 100644 index 0000000000..07e4f807a8 --- /dev/null +++ b/apps/web/pages/api/trpc/ooo/[trpc].ts @@ -0,0 +1,4 @@ +import { createNextApiHandler } from "@calcom/trpc/server/createNextApiHandler"; +import { oooRouter } from "@calcom/trpc/server/routers/viewer/ooo/_router"; + +export default createNextApiHandler(oooRouter); diff --git a/apps/web/pages/api/trpc/travelSchedules/[trpc].ts b/apps/web/pages/api/trpc/travelSchedules/[trpc].ts new file mode 100644 index 0000000000..2f5968d30d --- /dev/null +++ b/apps/web/pages/api/trpc/travelSchedules/[trpc].ts @@ -0,0 +1,4 @@ +import { createNextApiHandler } from "@calcom/trpc/server/createNextApiHandler"; +import { travelSchedulesRouter } from "@calcom/trpc/server/routers/viewer/travelSchedules/_router"; + +export default createNextApiHandler(travelSchedulesRouter); diff --git a/apps/web/playwright/out-of-office.e2e.ts b/apps/web/playwright/out-of-office.e2e.ts index d4b8462cb9..94ab0b575c 100644 --- a/apps/web/playwright/out-of-office.e2e.ts +++ b/apps/web/playwright/out-of-office.e2e.ts @@ -808,7 +808,7 @@ test.describe("Out of office", () => { }); async function saveAndWaitForResponse(page: Page, expectedStatusCode = 200) { - await submitAndWaitForResponse(page, "/api/trpc/viewer/outOfOfficeCreateOrUpdate?batch=1", { + await submitAndWaitForResponse(page, "/api/trpc/ooo/outOfOfficeCreateOrUpdate?batch=1", { action: () => page.getByTestId("create-or-edit-entry-ooo-redirect").click(), expectedStatusCode, }); diff --git a/packages/features/schedules/components/DateOverrideList.tsx b/packages/features/schedules/components/DateOverrideList.tsx index 2b0f83b242..8731a8a141 100644 --- a/packages/features/schedules/components/DateOverrideList.tsx +++ b/packages/features/schedules/components/DateOverrideList.tsx @@ -33,7 +33,7 @@ const DateOverrideList = ({ excludedDates?: string[]; userTimeFormat: number | null; hour12: boolean; - travelSchedules?: RouterOutputs["viewer"]["getTravelSchedules"]; + travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"]; weekStart?: 0 | 1 | 2 | 3 | 4 | 5 | 6; handleAvailabilityUpdate?: VoidFunction; }) => { diff --git a/packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx b/packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx index 3592307e5b..bbcf86326d 100644 --- a/packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx +++ b/packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx @@ -122,7 +122,7 @@ export const CreateOrEditOutOfOfficeEntryModal = ({ }, document.querySelector('[role="dialog"]')); const { data: outOfOfficeReasonList, isPending: isReasonListPending } = - trpc.viewer.outOfOfficeReasonList.useQuery(); + trpc.viewer.ooo.outOfOfficeReasonList.useQuery(); const reasonList = (outOfOfficeReasonList || []).map((reason) => ({ label: `${reason.emoji} ${reason.userId === null ? t(reason.reason) : reason.reason}`, value: reason.id, @@ -158,7 +158,7 @@ export const CreateOrEditOutOfOfficeEntryModal = ({ const watchedTeamUserId = watch("toTeamUserId"); const watchForUserId = watch("forUserId"); - const createOrEditOutOfOfficeEntry = trpc.viewer.outOfOfficeCreateOrUpdate.useMutation({ + const createOrEditOutOfOfficeEntry = trpc.viewer.ooo.outOfOfficeCreateOrUpdate.useMutation({ onSuccess: () => { showToast( currentlyEditingOutOfOfficeEntry @@ -166,7 +166,7 @@ export const CreateOrEditOutOfOfficeEntryModal = ({ : t("success_entry_created"), "success" ); - utils.viewer.outOfOfficeEntriesList.invalidate(); + utils.viewer.ooo.outOfOfficeEntriesList.invalidate(); closeModal(); }, onError: (error) => { diff --git a/packages/features/settings/outOfOffice/OutOfOfficeEntriesList.tsx b/packages/features/settings/outOfOffice/OutOfOfficeEntriesList.tsx index 9f51ba3781..c0e77868b7 100644 --- a/packages/features/settings/outOfOffice/OutOfOfficeEntriesList.tsx +++ b/packages/features/settings/outOfOffice/OutOfOfficeEntriesList.tsx @@ -86,7 +86,7 @@ function OutOfOfficeEntriesListContent() { const endDateRange = useFilterValue("dateRange", ZDateRangeFilterValue)?.data; const { data, isPending, fetchNextPage, isFetching, refetch, hasNextPage } = - trpc.viewer.outOfOfficeEntriesList.useInfiniteQuery( + trpc.viewer.ooo.outOfOfficeEntriesList.useInfiniteQuery( { limit: 10, fetchTeamMembersEntries: selectedTab === OutOfOfficeTab.TEAM, @@ -319,7 +319,7 @@ function OutOfOfficeEntriesListContent() { getFilteredRowModel: getFilteredRowModel(), }); - const deleteOutOfOfficeEntryMutation = trpc.viewer.outOfOfficeEntryDelete.useMutation({ + const deleteOutOfOfficeEntryMutation = trpc.viewer.ooo.outOfOfficeEntryDelete.useMutation({ onSuccess: () => { showToast(t("success_deleted_entry_out_of_office"), "success"); setDeletedEntry((previousValue) => previousValue + 1); diff --git a/packages/platform/atoms/availability/AvailabilitySettings.tsx b/packages/platform/atoms/availability/AvailabilitySettings.tsx index 773ff88598..ea0ac96c78 100644 --- a/packages/platform/atoms/availability/AvailabilitySettings.tsx +++ b/packages/platform/atoms/availability/AvailabilitySettings.tsx @@ -86,7 +86,7 @@ type AvailabilitySettingsProps = { timeZone: string; schedule: Availability[]; }; - travelSchedules?: RouterOutputs["viewer"]["getTravelSchedules"]; + travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"]; handleDelete: () => void; allowDelete?: boolean; allowSetToDefault?: boolean; @@ -177,7 +177,7 @@ const DateOverride = ({ }: { workingHours: WorkingHours[]; userTimeFormat: number | null; - travelSchedules?: RouterOutputs["viewer"]["getTravelSchedules"]; + travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"]; weekStart: 0 | 1 | 2 | 3 | 4 | 5 | 6; overridesModalClassNames?: string; handleSubmit: (data: AvailabilityFormValues) => Promise; diff --git a/packages/trpc/react/shared.ts b/packages/trpc/react/shared.ts index e4252132bc..7dc16e8cca 100644 --- a/packages/trpc/react/shared.ts +++ b/packages/trpc/react/shared.ts @@ -17,6 +17,7 @@ export const ENDPOINTS = [ "i18n", "insights", "me", + "ooo", "payments", "public", "timezones", @@ -24,6 +25,7 @@ export const ENDPOINTS = [ "slots", "teams", "organizations", + "travelSchedules", "users", "viewer", "webhook", @@ -33,5 +35,4 @@ export const ENDPOINTS = [ "attributes", "delegationCredential", "routingForms", - "delegationCredential", ] as const; diff --git a/packages/trpc/server/routers/loggedInViewer/_router.tsx b/packages/trpc/server/routers/loggedInViewer/_router.tsx index 052aee5b99..0d8b6ec1c7 100644 --- a/packages/trpc/server/routers/loggedInViewer/_router.tsx +++ b/packages/trpc/server/routers/loggedInViewer/_router.tsx @@ -10,9 +10,6 @@ import { ZGetCalVideoRecordingsInputSchema } from "./getCalVideoRecordings.schem import { ZGetDownloadLinkOfCalVideoRecordingsInputSchema } from "./getDownloadLinkOfCalVideoRecordings.schema"; import { ZLocationOptionsInputSchema } from "./locationOptions.schema"; import { ZNoShowInputSchema } from "./markNoShow.schema"; -import { ZOutOfOfficeInputSchema } from "./outOfOfficeCreateOrUpdate.schema"; -import { ZOutOfOfficeEntriesListSchema } from "./outOfOfficeEntriesList.schema"; -import { ZOutOfOfficeDelete } from "./outOfOfficeEntryDelete.schema"; import { teamsAndUserProfilesQuery } from "./procedures/teamsAndUserProfilesQuery"; import { ZRemoveNotificationsSubscriptionInputSchema } from "./removeNotificationsSubscription.schema"; import { ZRoutingFormOrderInputSchema } from "./routingFormOrder.schema"; @@ -40,12 +37,7 @@ type AppsRouterHandlerCache = { getDownloadLinkOfCalVideoRecordings?: typeof import("./getDownloadLinkOfCalVideoRecordings.handler").getDownloadLinkOfCalVideoRecordingsHandler; teamsAndUserProfilesQuery?: typeof import("./teamsAndUserProfilesQuery.handler").teamsAndUserProfilesQuery; connectAndJoin?: typeof import("./connectAndJoin.handler").Handler; - outOfOfficeCreateOrUpdate?: typeof import("./outOfOfficeCreateOrUpdate.handler").outOfOfficeCreateOrUpdate; - outOfOfficeEntriesList?: typeof import("./outOfOfficeEntriesList.handler").outOfOfficeEntriesList; - outOfOfficeEntryDelete?: typeof import("./outOfOfficeEntryDelete.handler").outOfOfficeEntryDelete; addSecondaryEmail?: typeof import("./addSecondaryEmail.handler").addSecondaryEmailHandler; - getTravelSchedules?: typeof import("./getTravelSchedules.handler").getTravelSchedulesHandler; - outOfOfficeReasonList?: typeof import("./outOfOfficeReasons.handler").outOfOfficeReasonList; addNotificationsSubscription?: typeof import("./addNotificationsSubscription.handler").addNotificationsSubscriptionHandler; removeNotificationsSubscription?: typeof import("./removeNotificationsSubscription.handler").removeNotificationsSubscriptionHandler; markNoShow?: typeof import("./markNoShow.handler").markNoShow; @@ -257,50 +249,6 @@ export const loggedInViewerRouter = router({ return UNSTABLE_HANDLER_CACHE.connectAndJoin({ ctx, input }); }), - outOfOfficeCreateOrUpdate: authedProcedure - .input(ZOutOfOfficeInputSchema) - .mutation(async ({ ctx, input }) => { - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeCreateOrUpdate) { - UNSTABLE_HANDLER_CACHE.outOfOfficeCreateOrUpdate = ( - await import("./outOfOfficeCreateOrUpdate.handler") - ).outOfOfficeCreateOrUpdate; - } - - // Unreachable code but required for type safety - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeCreateOrUpdate) { - throw new Error("Failed to load handler"); - } - - return UNSTABLE_HANDLER_CACHE.outOfOfficeCreateOrUpdate({ ctx, input }); - }), - outOfOfficeEntriesList: authedProcedure.input(ZOutOfOfficeEntriesListSchema).query(async (opts) => { - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeEntriesList) { - UNSTABLE_HANDLER_CACHE.outOfOfficeEntriesList = ( - await import("./outOfOfficeEntriesList.handler") - ).outOfOfficeEntriesList; - } - - // Unreachable code but required for type safety - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeEntriesList) { - throw new Error("Failed to load handler"); - } - - return UNSTABLE_HANDLER_CACHE.outOfOfficeEntriesList(opts); - }), - outOfOfficeEntryDelete: authedProcedure.input(ZOutOfOfficeDelete).mutation(async ({ ctx, input }) => { - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeEntryDelete) { - UNSTABLE_HANDLER_CACHE.outOfOfficeEntryDelete = ( - await import("./outOfOfficeEntryDelete.handler") - ).outOfOfficeEntryDelete; - } - - // Unreachable code but required for type safety - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeEntryDelete) { - throw new Error("Failed to load handler"); - } - - return UNSTABLE_HANDLER_CACHE.outOfOfficeEntryDelete({ ctx, input }); - }), addSecondaryEmail: authedProcedure.input(ZAddSecondaryEmailInputSchema).mutation(async ({ ctx, input }) => { if (!UNSTABLE_HANDLER_CACHE.addSecondaryEmail) { UNSTABLE_HANDLER_CACHE.addSecondaryEmail = ( @@ -315,34 +263,6 @@ export const loggedInViewerRouter = router({ return UNSTABLE_HANDLER_CACHE.addSecondaryEmail({ ctx, input }); }), - getTravelSchedules: authedProcedure.query(async ({ ctx }) => { - if (!UNSTABLE_HANDLER_CACHE.getTravelSchedules) { - UNSTABLE_HANDLER_CACHE.getTravelSchedules = ( - await import("./getTravelSchedules.handler") - ).getTravelSchedulesHandler; - } - - // Unreachable code but required for type safety - if (!UNSTABLE_HANDLER_CACHE.getTravelSchedules) { - throw new Error("Failed to load handler"); - } - - return UNSTABLE_HANDLER_CACHE.getTravelSchedules({ ctx }); - }), - outOfOfficeReasonList: authedProcedure.query(async () => { - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeReasonList) { - UNSTABLE_HANDLER_CACHE.outOfOfficeReasonList = ( - await import("./outOfOfficeReasons.handler") - ).outOfOfficeReasonList; - } - - // Unreachable code but required for type safety - if (!UNSTABLE_HANDLER_CACHE.outOfOfficeReasonList) { - throw new Error("Failed to load handler"); - } - - return UNSTABLE_HANDLER_CACHE.outOfOfficeReasonList(); - }), addNotificationsSubscription: authedProcedure .input(ZAddNotificationsSubscriptionInputSchema) .mutation(async ({ ctx, input }) => { diff --git a/packages/trpc/server/routers/loggedInViewer/__tests__/outOfOffice.handler.test.ts b/packages/trpc/server/routers/viewer/__tests__/outOfOffice.handler.test.ts similarity index 97% rename from packages/trpc/server/routers/loggedInViewer/__tests__/outOfOffice.handler.test.ts rename to packages/trpc/server/routers/viewer/__tests__/outOfOffice.handler.test.ts index b693711849..0f735118bd 100644 --- a/packages/trpc/server/routers/loggedInViewer/__tests__/outOfOffice.handler.test.ts +++ b/packages/trpc/server/routers/viewer/__tests__/outOfOffice.handler.test.ts @@ -3,7 +3,7 @@ import { vi } from "vitest"; import { prisma } from "@calcom/prisma"; -import { outOfOfficeCreateOrUpdate } from "../outOfOfficeCreateOrUpdate.handler"; +import { outOfOfficeCreateOrUpdate } from "../ooo/outOfOfficeCreateOrUpdate.handler"; const prismaMock = { outOfOfficeEntry: { diff --git a/packages/trpc/server/routers/viewer/_router.tsx b/packages/trpc/server/routers/viewer/_router.tsx index 69915b81c8..f1ca3b8db4 100644 --- a/packages/trpc/server/routers/viewer/_router.tsx +++ b/packages/trpc/server/routers/viewer/_router.tsx @@ -24,12 +24,14 @@ import { highPerfRouter } from "./highPerf/_router"; import { i18nRouter } from "./i18n/_router"; import { meRouter } from "./me/_router"; import { oAuthRouter } from "./oAuth/_router"; +import { oooRouter } from "./ooo/_router"; import { viewerOrganizationsRouter } from "./organizations/_router"; import { paymentsRouter } from "./payments/_router"; import { routingFormsRouter } from "./routing-forms/_router"; import { slotsRouter } from "./slots/_router"; import { ssoRouter } from "./sso/_router"; import { viewerTeamsRouter } from "./teams/_router"; +import { travelSchedulesRouter } from "./travelSchedules/_router"; import { webhookRouter } from "./webhook/_router"; import { workflowsRouter } from "./workflows/_router"; @@ -70,5 +72,7 @@ export const viewerRouter = mergeRouters( attributes: attributesRouter, highPerf: highPerfRouter, routingForms: routingFormsRouter, + ooo: oooRouter, + travelSchedules: travelSchedulesRouter, }) ); diff --git a/packages/trpc/server/routers/viewer/ooo/_router.tsx b/packages/trpc/server/routers/viewer/ooo/_router.tsx new file mode 100644 index 0000000000..6b84d7f07d --- /dev/null +++ b/packages/trpc/server/routers/viewer/ooo/_router.tsx @@ -0,0 +1,26 @@ +import authedProcedure from "../../../procedures/authedProcedure"; +import { router } from "../../../trpc"; +import { ZOutOfOfficeInputSchema } from "./outOfOfficeCreateOrUpdate.schema"; +import { ZOutOfOfficeEntriesListSchema } from "./outOfOfficeEntriesList.schema"; +import { ZOutOfOfficeDelete } from "./outOfOfficeEntryDelete.schema"; + +export const oooRouter = router({ + outOfOfficeCreateOrUpdate: authedProcedure + .input(ZOutOfOfficeInputSchema) + .mutation(async ({ ctx, input }) => { + const handler = (await import("./outOfOfficeCreateOrUpdate.handler")).outOfOfficeCreateOrUpdate; + return handler({ ctx, input }); + }), + outOfOfficeEntryDelete: authedProcedure.input(ZOutOfOfficeDelete).mutation(async ({ ctx, input }) => { + const handler = (await import("./outOfOfficeEntryDelete.handler")).outOfOfficeEntryDelete; + return handler({ ctx, input }); + }), + outOfOfficeEntriesList: authedProcedure.input(ZOutOfOfficeEntriesListSchema).query(async (opts) => { + const handler = (await import("./outOfOfficeEntriesList.handler")).outOfOfficeEntriesList; + return handler(opts); + }), + outOfOfficeReasonList: authedProcedure.query(async () => { + const handler = (await import("./outOfOfficeReasons.handler")).outOfOfficeReasonList; + return handler(); + }), +}); diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOffice.utils.ts b/packages/trpc/server/routers/viewer/ooo/outOfOffice.utils.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOffice.utils.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOffice.utils.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeCreateOrUpdate.handler.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeCreateOrUpdate.handler.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeCreateOrUpdate.handler.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeCreateOrUpdate.handler.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeCreateOrUpdate.schema.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeCreateOrUpdate.schema.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeCreateOrUpdate.schema.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeCreateOrUpdate.schema.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeEntriesList.handler.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeEntriesList.handler.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeEntriesList.handler.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeEntriesList.handler.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeEntriesList.schema.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeEntriesList.schema.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeEntriesList.schema.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeEntriesList.schema.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeEntryDelete.handler.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeEntryDelete.handler.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeEntryDelete.handler.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeEntryDelete.handler.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeEntryDelete.schema.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeEntryDelete.schema.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeEntryDelete.schema.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeEntryDelete.schema.ts diff --git a/packages/trpc/server/routers/loggedInViewer/outOfOfficeReasons.handler.ts b/packages/trpc/server/routers/viewer/ooo/outOfOfficeReasons.handler.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/outOfOfficeReasons.handler.ts rename to packages/trpc/server/routers/viewer/ooo/outOfOfficeReasons.handler.ts diff --git a/packages/trpc/server/routers/viewer/travelSchedules/_router.tsx b/packages/trpc/server/routers/viewer/travelSchedules/_router.tsx new file mode 100644 index 0000000000..7f6f82292b --- /dev/null +++ b/packages/trpc/server/routers/viewer/travelSchedules/_router.tsx @@ -0,0 +1,9 @@ +import authedProcedure from "../../../procedures/authedProcedure"; +import { router } from "../../../trpc"; + +export const travelSchedulesRouter = router({ + get: authedProcedure.query(async ({ ctx }) => { + const handler = (await import("./getTravelSchedules.handler")).getTravelSchedulesHandler; + return handler({ ctx }); + }), +}); diff --git a/packages/trpc/server/routers/loggedInViewer/getTravelSchedules.handler.ts b/packages/trpc/server/routers/viewer/travelSchedules/getTravelSchedules.handler.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/getTravelSchedules.handler.ts rename to packages/trpc/server/routers/viewer/travelSchedules/getTravelSchedules.handler.ts diff --git a/packages/trpc/server/routers/loggedInViewer/getTravelSchedules.schema.ts b/packages/trpc/server/routers/viewer/travelSchedules/getTravelSchedules.schema.ts similarity index 100% rename from packages/trpc/server/routers/loggedInViewer/getTravelSchedules.schema.ts rename to packages/trpc/server/routers/viewer/travelSchedules/getTravelSchedules.schema.ts