import { NextResponse, type NextRequest } from "next/server"; import { OAC_CASE_COOKIE, parseOacCase } from "@/utils/user"; // บังคับ login (mock e-Court) ทุกหน้า — ไม่มี cookie oacCase ที่ parse ได้ = redirect /login // (parse จริง ไม่ใช่แค่มี cookie — cookie ขยะ/ครึ่ง ๆ ถือว่ายังไม่เข้าสู่ระบบ) export function middleware(req: NextRequest) { const user = parseOacCase(req.cookies.get(OAC_CASE_COOKIE)?.value); if (!user) { const url = req.nextUrl.clone(); url.pathname = "/login"; url.search = ""; return NextResponse.redirect(url); } return NextResponse.next(); } // ยกเว้น: หน้า login เอง, API/SSE/export, ไฟล์อัปโหลด, Next internal, // และ static ใน public/ (pdf.worker, samples, fonts, favicon) export const config = { matcher: [ "/((?!login|api|uploads|_next|samples|fonts|pdf\\.worker\\.min\\.mjs|favicon\\.ico).*)", ], };