Revert "Fixed the Manager deployment database dependency."
This reverts commit a8cdc2671e.
This commit is contained in:
3 files changed
+10
-92
No files matched your search
+9
-15
@@ -1,6 +1,7 @@
|
||||
import NextAuth from "next-auth";
|
||||
import { NextResponse, type NextRequest } from "next/server";
|
||||
import { NextResponse } from "next/server";
|
||||
import { authConfig } from "@/auth.config";
|
||||
import { isInstalledForRequest } from "@/lib/installation/installation-state";
|
||||
|
||||
// /home, /appointments and /settings are intentionally NOT hard-gated here
|
||||
// as of Phase 4 — Home must work for guests (public business browsing +
|
||||
@@ -20,6 +21,7 @@ const PROTECTED_PREFIXES = ["/staff", "/owner"];
|
||||
// business data guard themselves (see /api/health and
|
||||
// /api/cron/process-notifications).
|
||||
const INSTALL_EXEMPT_PREFIXES = [
|
||||
"/manager",
|
||||
"/install",
|
||||
"/offline",
|
||||
"/manifest.webmanifest",
|
||||
@@ -82,23 +84,17 @@ function buildCsp(): string {
|
||||
].join("; ");
|
||||
}
|
||||
|
||||
export async function handleProxyRequest(req: NextRequest) {
|
||||
export default auth(async (req) => {
|
||||
const { pathname } = req.nextUrl;
|
||||
const csp = buildCsp();
|
||||
|
||||
// Manager is a separate deployment and hostname, so its root pathname is
|
||||
// normally `/`, not `/manager`. Branch before loading any business module.
|
||||
if (process.env.MANAGER_MODE === "true") {
|
||||
const response = NextResponse.next();
|
||||
response.headers.set("Content-Security-Policy", csp);
|
||||
return response;
|
||||
}
|
||||
|
||||
const isInstallExempt = INSTALL_EXEMPT_PREFIXES.some(
|
||||
(prefix) => pathname === prefix || pathname.startsWith(prefix.endsWith("/") ? prefix : `${prefix}/`),
|
||||
);
|
||||
const { isInstalledForRequest } = await import("@/lib/installation/installation-state");
|
||||
const installed = await isInstalledForRequest();
|
||||
// The platform Manager is a separate deployment and deliberately has no
|
||||
// business database. Its own session guard runs inside /manager pages/API.
|
||||
const isManagerPath = pathname === "/manager" || pathname.startsWith("/manager/");
|
||||
const installed = isManagerPath ? true : await isInstalledForRequest();
|
||||
|
||||
if (!installed && !isInstallExempt) {
|
||||
const response = NextResponse.redirect(new URL("/install", req.nextUrl.origin));
|
||||
@@ -130,9 +126,7 @@ export async function handleProxyRequest(req: NextRequest) {
|
||||
const response = NextResponse.next();
|
||||
response.headers.set("Content-Security-Policy", csp);
|
||||
return response;
|
||||
}
|
||||
|
||||
export default auth(handleProxyRequest);
|
||||
});
|
||||
|
||||
export const config = {
|
||||
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
|
||||
|
||||
Reference in new issue
Block a user