/* eslint-disable -- temporary disable for development/testing purposes */

import { NextRequest, NextResponse } from 'next/server';
import { getDBConnection } from '@/lib/db'; // adjust path as needed


export async function POST(request: NextRequest) {
  const body = await request.json();
  const { companyId, managerId, doctorId, visitTypeId, rate } = body;

  if (!companyId || !managerId || !doctorId || !visitTypeId || !rate) {
    return NextResponse.json({ error: 'Missing fields' }, { status: 400 });
  }

  try {
    const connection = await getDBConnection();

    // Check if already assigned
    const [existing] = await connection.execute(
      `SELECT id FROM visit_type_rates WHERE company_id = ? AND doctor_id = ? AND visit_type_id = ?`,
      [companyId, doctorId, visitTypeId]
    );

    if ((existing as any[]).length > 0) {
      await connection.end();
      return NextResponse.json({ error: 'Visit type already assigned to this doctor' }, { status: 409 });
    }

    // Insert new assignment
    await connection.execute(
      `INSERT INTO visit_type_rates (company_id, manager_id, doctor_id, visit_type_id, rate) 
       VALUES (?, ?, ?, ?, ?)`,
      [companyId, managerId, doctorId, visitTypeId, rate]
    );

    await connection.end();

    return NextResponse.json({ message: 'Visit type assigned successfully' });
  } catch (error) {
    // console.error('Error assigning visit type:', error);
    return NextResponse.json({ error }, { status: 500 });
  }
}
