From 25392f7b293716488bd1772a3d03ed75ab65d278 Mon Sep 17 00:00:00 2001 From: elpatron Date: Mon, 6 Oct 2025 17:45:12 +0200 Subject: [PATCH] fix(server): break cyclic import by using local os/call from @orpc/server in bookings; avoid TDZ error --- src/server/rpc/bookings.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/server/rpc/bookings.ts b/src/server/rpc/bookings.ts index 81b09a2..db73ae1 100644 --- a/src/server/rpc/bookings.ts +++ b/src/server/rpc/bookings.ts @@ -5,13 +5,17 @@ import { createKV } from "../lib/create-kv.js"; import { sanitizeText, sanitizeHtml, sanitizePhone } from "../lib/sanitize.js"; import { sendEmail, sendEmailWithAGB, sendEmailWithAGBAndCalendar, sendEmailWithInspirationPhoto } from "../lib/email.js"; import { renderBookingPendingHTML, renderBookingConfirmedHTML, renderBookingCancelledHTML, renderAdminBookingNotificationHTML, renderBookingRescheduleProposalHTML, renderAdminRescheduleAcceptedHTML, renderAdminRescheduleDeclinedHTML } from "../lib/email-templates.js"; -import { router as rootRouter, os, call } from "./index.js"; +import { os as baseOs, call as baseCall } from "@orpc/server"; +import type { Context as HonoContext } from "hono"; import { createORPCClient } from "@orpc/client"; import { RPCLink } from "@orpc/client/fetch"; import { checkBookingRateLimit, getClientIP, checkAdminRateLimit, enforceAdminRateLimit } from "../lib/rate-limiter.js"; import { validateEmail } from "../lib/email-validator.js"; import { assertOwner, getSessionFromCookies } from "../lib/auth.js"; -// Using centrally typed os and call from rpc/index +// Lokale oRPC-Helfer ohne Zyklus zu rpc/index (vermeidet ESM-TDZ) +const osAny = baseOs as any; +const os = (osAny.withContext ? osAny.withContext() : (osAny.context ? osAny.context() : baseOs)); +const call = baseCall; // Create a server-side client to call other RPC endpoints const serverPort = process.env.PORT ? parseInt(process.env.PORT) : 3000;