import { NextResponse } from 'next/server'; import pool from '@/lib/db'; export async function GET(request: Request) { try { const { searchParams } = new URL(request.url); const tahunAngkatan = searchParams.get('tahunAngkatan'); let query = ` SELECT m.tahun_angkatan, m.kabupaten, COUNT(m.nim) AS jumlah_lulus_tepat_waktu FROM mahasiswa m JOIN status_mahasiswa s ON m.nim = s.nim WHERE s.status_kuliah = 'Lulus' AND s.semester <= 8 `; if (tahunAngkatan && tahunAngkatan !== 'all') { query += ` AND m.tahun_angkatan = '${tahunAngkatan}'`; } query += ` GROUP BY m.tahun_angkatan, m.kabupaten ORDER BY m.tahun_angkatan DESC, jumlah_lulus_tepat_waktu DESC `; const [rows] = await pool.query(query); return NextResponse.json(rows); } catch (error) { console.error('Error fetching data:', error); return NextResponse.json( { error: 'Internal Server Error' }, { status: 500 } ); } }