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

import { NextRequest, NextResponse } from 'next/server';
import mysql from 'mysql2/promise';

async function getDBConnection() {
  return mysql.createConnection({
    host: '44.197.53.114',
    user: 'helloprovider',
    password: 'Hello@App12',
    database: 'helloprovider',
  });
}

// GET /api/companies/[id]/users
export async function GET(request: NextRequest, { params }: { params: { id: string } }) {
  const companyId = params.id;

  try {
    const connection = await getDBConnection();
   

    // Fetch providers
    const [providers] = await connection.execute(
      'SELECT * FROM users WHERE role = ? AND company_id = ?',
      ['doctor', companyId]
    );

    // Fetch patients
    const [patients] = await connection.execute(
      'SELECT * FROM users WHERE role = ? AND company_id = ?',
      ['user', companyId]
    );

    // Fetch managers (via join with manager_companies)
    const [managers] = await connection.execute(
      `
      SELECT u.*
      FROM manager_companies mc
      JOIN users u ON mc.manager_id = u.id
      WHERE mc.company_id = ?
      `,
      [companyId]
    );

    await connection.end();

    return NextResponse.json({
      managers,
      providers,
      patients
    });
  } catch (error) {
    // console.error('GET Error:', error);
    return NextResponse.json({ error: 'Failed to fetch company users' }, { status: 500 });
  }
}
