import { NextRequest, NextResponse } from "next/server";
import prisma from "@/lib/db";
import bcrypt from "bcryptjs";
import { encrypt } from "@/lib/auth";
import { cookies } from "next/headers";

export async function POST(req: NextRequest) {
    try {
        const { email, password } = await req.json();
        const admin = await prisma.admin.findUnique({ where: { email } });
        if (!admin) return NextResponse.json({ error: "Identifiants invalides" }, { status: 401 });
        const valid = await bcrypt.compare(password, admin.password);
        if (!valid) return NextResponse.json({ error: "Identifiants invalides" }, { status: 401 });
        const token = await encrypt({ adminId: admin.id, email: admin.email });
        const cookieStore = await cookies();
        cookieStore.set("session", token, { httpOnly: true, secure: process.env.NODE_ENV === "production", maxAge: 86400, path: "/" });
        return NextResponse.json({ success: true });
    } catch (e) {
        console.error(e);
        return NextResponse.json({ error: "Erreur serveur" }, { status: 500 });
    }
}
