import { NextRequest, NextResponse } from "next/server";
import { prisma } from "../../../../lib/db";     // ← was "@/src/lib/db"
import bcrypt from "bcryptjs";
import { signJwt } from "../../../../lib/jwt";   // ← was "@/src/lib/jwt"
import { setCookie } from "../../../../lib/cookies"; // ← was "@/src/lib/cookies"


export async function POST(req: NextRequest) {
  const { email, password } = await req.json();
  const user = await prisma.user.findUnique({ where: { email } });
  if (!user || !user.passwordHash)
    return NextResponse.json({ error: "Invalid credentials" }, { status: 401 });

  const ok = await bcrypt.compare(password, user.passwordHash);
  if (!ok) return NextResponse.json({ error: "Invalid credentials" }, { status: 401 });

  const token = signJwt({ uid: user.id, email: user.email });
  const res = NextResponse.json({ ok: true, message: "Signed in" });
  res.headers.append("Set-Cookie", setCookie("auth", token));
  return res;
}
