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'); const jenisBeasiswa = searchParams.get('jenisBeasiswa'); let query = ` SELECT m.tahun_angkatan, m.kabupaten, COUNT(m.nim) AS jumlah_mahasiswa FROM mahasiswa m JOIN beasiswa_mahasiswa s ON m.nim = s.nim WHERE s.jenis_beasiswa = ? `; if (tahunAngkatan && tahunAngkatan !== 'all') { query += ` AND m.tahun_angkatan = ?`; } query += ` GROUP BY m.kabupaten, m.tahun_angkatan ORDER BY m.tahun_angkatan ASC, m.kabupaten `; const params = [jenisBeasiswa]; if (tahunAngkatan && tahunAngkatan !== 'all') { params.push(tahunAngkatan); } const [rows] = await pool.query(query, params); return NextResponse.json(rows); } catch (error) { console.error('Error fetching data:', error); return NextResponse.json( { error: 'Internal Server Error' }, { status: 500 } ); } }