import { NextResponse } from 'next/server'; import supabase from '@/lib/db'; // GET - Ambil daftar nama dosen yang menjadi pembimbing export async function GET() { try { const { data, error } = await supabase .from('mahasiswa') .select(` dosen_pembimbing_1:dosen!pembimbing_1(nama_dosen), dosen_pembimbing_2:dosen!pembimbing_2(nama_dosen) `) .or('pembimbing_1.not.is.null,pembimbing_2.not.is.null'); if (error) { console.error('Error fetching dosen list:', error); return NextResponse.json({ message: 'Internal Server Error' }, { status: 500 }); } // Extract unique dosen names const uniqueDosen = new Set(); data.forEach((item: any) => { if (item.dosen_pembimbing_1?.nama_dosen) { uniqueDosen.add(item.dosen_pembimbing_1.nama_dosen); } if (item.dosen_pembimbing_2?.nama_dosen) { uniqueDosen.add(item.dosen_pembimbing_2.nama_dosen); } }); // Convert to sorted array const sortedDosen = Array.from(uniqueDosen).sort(); return NextResponse.json(sortedDosen); } catch (error) { console.error('Error fetching dosen list:', error); return NextResponse.json({ message: 'Internal Server Error' }, { status: 500 }); } }