import { NextResponse } from "next/server";
import { db } from "../../../lib/db";

export async function POST(req: Request) {
  try {
    const body = await req.json();

    const {
      name,
      email,
      google_id,
      avatar,
      role,
    } = body;

    if (!name || !email) {
      return NextResponse.json(
        { message: "Nama dan email wajib diisi" },
        { status: 400 }
      );
    }

    const [exist]: any = await db.query(
      `
      SELECT id
      FROM users
      WHERE email = ?
      LIMIT 1
      `,
      [email]
    );

    if (exist.length > 0) {
      return NextResponse.json(
        { message: "Email sudah terdaftar" },
        { status: 400 }
      );
    }

    await db.query(
      `
      INSERT INTO users (
        name,
        email,
        google_id,
        avatar,
        role,
        is_active
      )
      VALUES (?, ?, ?, ?, ?, 1)
      `,
      [
        name,
        email,
        google_id || null,
        avatar || null,
        role || "OPERATOR",
      ]
    );

    return NextResponse.json({
      success: true,
      message: "User berhasil dibuat",
    });
  } catch (error: any) {
    console.error("REGISTER USER ERROR:", error);

    return NextResponse.json(
      {
        message: "Gagal register user",
        error: error.message,
      },
      { status: 500 }
    );
  }
}