import { NextResponse } from "next/server" import { ADMIN_SESSION_COOKIE, createAdminSession, isAdminCredentialLoginConfigured, isAdminCredentialMatch, } from "@/lib/server/admin-auth" export async function POST(request: Request) { if (!isAdminCredentialLoginConfigured()) { return NextResponse.redirect(new URL("/sign-in?error=config", request.url)) } const formData = await request.formData() const email = String(formData.get("email") || "") .trim() .toLowerCase() const password = String(formData.get("password") || "") if (!isAdminCredentialMatch(email, password)) { return NextResponse.redirect( new URL("/sign-in?error=invalid", request.url) ) } const session = await createAdminSession(email) const response = NextResponse.redirect(new URL("/admin", request.url)) response.cookies.set(ADMIN_SESSION_COOKIE, session.token, { httpOnly: true, sameSite: "lax", secure: true, path: "/", expires: new Date(session.expiresAt), }) return response }