From d9a253a97448b4f3de3d8044a3b8605222dd75ed Mon Sep 17 00:00:00 2001 From: Stefan Lazic Date: Fri, 4 Sep 2026 21:59:44 +0100 Subject: [PATCH] Request fix - Auth.js handlers require NextRequest. - The wrapper accepted plain Request. Changed both GET and POST handlers to accept NextRequest. --- src/__tests__/manager-auth-route.test.ts | 3 ++- src/app/api/auth/[...nextauth]/route.ts | 6 ++++-- src/lib/media/media-storage.ts | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/__tests__/manager-auth-route.test.ts b/src/__tests__/manager-auth-route.test.ts index 90ffa7f..002b01d 100644 --- a/src/__tests__/manager-auth-route.test.ts +++ b/src/__tests__/manager-auth-route.test.ts @@ -1,4 +1,5 @@ import { afterEach, describe, expect, it, vi } from "vitest"; +import { NextRequest } from "next/server"; // The Manager must not load the business Auth.js module even if a stale // client requests `/api/auth/session`. @@ -19,7 +20,7 @@ describe("Manager business-auth boundary", () => { it("returns 404 without importing business Auth.js", async () => { process.env.MANAGER_MODE = "true"; - const response = await GET(new Request("https://manager.example.com/api/auth/session")); + const response = await GET(new NextRequest("https://manager.example.com/api/auth/session")); expect(response.status).toBe(404); }); diff --git a/src/app/api/auth/[...nextauth]/route.ts b/src/app/api/auth/[...nextauth]/route.ts index 04f79dc..2dd933b 100644 --- a/src/app/api/auth/[...nextauth]/route.ts +++ b/src/app/api/auth/[...nextauth]/route.ts @@ -1,3 +1,5 @@ +import { NextRequest } from "next/server"; + /** * Business Auth.js is intentionally unavailable in the standalone Manager * deployment. Keeping this check before the dynamic import prevents a stale @@ -7,13 +9,13 @@ function managerAuthDisabled() { return process.env.MANAGER_MODE === "true"; } -export async function GET(request: Request) { +export async function GET(request: NextRequest) { if (managerAuthDisabled()) return new Response(null, { status: 404 }); const { handlers } = await import("@/auth"); return handlers.GET(request); } -export async function POST(request: Request) { +export async function POST(request: NextRequest) { if (managerAuthDisabled()) return new Response(null, { status: 404 }); const { handlers } = await import("@/auth"); return handlers.POST(request); diff --git a/src/lib/media/media-storage.ts b/src/lib/media/media-storage.ts index 3138b85..ba9aee1 100644 --- a/src/lib/media/media-storage.ts +++ b/src/lib/media/media-storage.ts @@ -44,7 +44,7 @@ const EXTENSION_MIME_TYPES: Record = { export const MEDIA_MAX_UPLOAD_BYTES = Number(process.env.MEDIA_MAX_UPLOAD_BYTES ?? 5_000_000); /** Overridable so a non-Docker deployment can point this somewhere else; defaults to a directory next to the app, outside public/. */ -const MEDIA_ROOT = path.resolve(process.env.MEDIA_STORAGE_ROOT || path.join(/*turbopackIgnore: true*/ process.cwd(), "storage", "media")); +const MEDIA_ROOT = path.resolve(process.env.MEDIA_STORAGE_ROOT || "storage/media"); export const MEDIA_URL_PREFIX = "/api/media/";