import { NextRequest, NextResponse } from "next/server"; import { createSessionToken, SESSION_COOKIE } from "@/lib/session"; export async function POST(req: NextRequest) { const body = await req.json().catch(() => null); if (!body || typeof body.username !== "string" || typeof body.password !== "string") { return NextResponse.json({ error: "Invalid request" }, { status: 400 }); } const expectedUsername = process.env.ADMIN_USERNAME || "admin"; const expectedPassword = process.env.ADMIN_PASSWORD; if (!expectedPassword) { return NextResponse.json({ error: "Server misconfiguration" }, { status: 500 }); } if (body.username !== expectedUsername || body.password !== expectedPassword) { return NextResponse.json({ error: "Invalid credentials" }, { status: 401 }); } const token = await createSessionToken(); const response = NextResponse.json({ success: true }); response.cookies.set(SESSION_COOKIE, token, { httpOnly: true, secure: process.env.NODE_ENV === "production", sameSite: "lax", maxAge: 7 * 24 * 60 * 60, path: "/", }); return response; }