Request fix
CI / ci (push) Canceled after 0s

- Auth.js handlers require NextRequest.
- The wrapper accepted plain Request.
Changed both GET and POST handlers to accept NextRequest.
This commit is contained in:
Stefan Lazic committed 2026-09-04 21:59:44 +01:00
1 parent bc45608023
commit d9a253a974
3 files changed
+7 -4

No files matched your search

+2 -1
View File
@@ -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);
});
+4 -2
View File
@@ -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);
+1 -1
View File
@@ -44,7 +44,7 @@ const EXTENSION_MIME_TYPES: Record<string, string> = {
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/";