| import { NextRequest, NextResponse } from "next/server"; |
| import { adminCookieOptions, createAdminSessionValue } from "@/lib/adminAuth"; |
|
|
| export async function POST(request: NextRequest) { |
| try { |
| const adminPassword = process.env.ADMIN_PASSWORD || ""; |
| if (!adminPassword) { |
| return NextResponse.json({ error: "ADMIN_PASSWORD is not set" }, { status: 500 }); |
| } |
|
|
| const body = await request.json(); |
| const password = typeof body?.password === "string" ? body.password : ""; |
|
|
| if (password !== adminPassword) { |
| return NextResponse.json({ error: "Invalid password" }, { status: 401 }); |
| } |
|
|
| const response = NextResponse.json({ ok: true }); |
| response.cookies.set({ |
| ...adminCookieOptions(), |
| value: createAdminSessionValue(), |
| }); |
| return response; |
| } catch (error) { |
| console.error("Admin login error:", error); |
| return NextResponse.json({ error: "Failed to login" }, { status: 500 }); |
| } |
| } |
|
|