Change api status
This commit is contained in:
@@ -44,29 +44,29 @@ export async function GET() {
|
||||
|
||||
// Get mahasiswa aktif
|
||||
const { count: mahasiswaAktif } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim', { count: 'exact', head: true })
|
||||
.from('mahasiswa')
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.eq('status_kuliah', 'Aktif');
|
||||
|
||||
// Get total lulus
|
||||
const { count: totalLulus } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim', { count: 'exact', head: true })
|
||||
.from('mahasiswa')
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.eq('status_kuliah', 'Lulus');
|
||||
|
||||
// Get pria lulus
|
||||
const { count: priaLulus } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim, mahasiswa!inner(jk)', { count: 'exact', head: true })
|
||||
.from('mahasiswa')
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.eq('status_kuliah', 'Lulus')
|
||||
.eq('mahasiswa.jk', 'Pria');
|
||||
.eq('jk', 'Pria');
|
||||
|
||||
// Get wanita lulus
|
||||
const { count: wanitaLulus } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim, mahasiswa!inner(jk)', { count: 'exact', head: true })
|
||||
.from('mahasiswa')
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.eq('status_kuliah', 'Lulus')
|
||||
.eq('mahasiswa.jk', 'Wanita');
|
||||
.eq('jk', 'Wanita');
|
||||
|
||||
// Get total berprestasi
|
||||
const { count: totalBerprestasi } = await supabase
|
||||
@@ -87,30 +87,30 @@ export async function GET() {
|
||||
|
||||
// Get total mahasiswa aktif + lulus
|
||||
const { count: totalMahasiswaAktifLulus } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim', { count: 'exact', head: true })
|
||||
.from('mahasiswa')
|
||||
.select('*', { count: 'exact', head: true })
|
||||
.in('status_kuliah', ['Aktif', 'Lulus']);
|
||||
|
||||
// Get IPK rata-rata aktif
|
||||
const { data: ipkAktifData } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim, mahasiswa!inner(ipk)')
|
||||
.from('mahasiswa')
|
||||
.select('ipk')
|
||||
.eq('status_kuliah', 'Aktif')
|
||||
.not('mahasiswa.ipk', 'is', null);
|
||||
.not('ipk', 'is', null);
|
||||
|
||||
const ipkRataRataAktif = ipkAktifData && ipkAktifData.length > 0
|
||||
? Math.round((ipkAktifData.reduce((sum, item: any) => sum + (item.mahasiswa.ipk || 0), 0) / ipkAktifData.length) * 100) / 100
|
||||
? Math.round((ipkAktifData.reduce((sum, item: any) => sum + (item.ipk || 0), 0) / ipkAktifData.length) * 100) / 100
|
||||
: 0;
|
||||
|
||||
// Get IPK rata-rata lulus
|
||||
const { data: ipkLulusData } = await supabase
|
||||
.from('status_mahasiswa')
|
||||
.select('nim, mahasiswa!inner(ipk)')
|
||||
.from('mahasiswa')
|
||||
.select('ipk')
|
||||
.eq('status_kuliah', 'Lulus')
|
||||
.not('mahasiswa.ipk', 'is', null);
|
||||
.not('ipk', 'is', null);
|
||||
|
||||
const ipkRataRataLulus = ipkLulusData && ipkLulusData.length > 0
|
||||
? Math.round((ipkLulusData.reduce((sum, item: any) => sum + (item.mahasiswa.ipk || 0), 0) / ipkLulusData.length) * 100) / 100
|
||||
? Math.round((ipkLulusData.reduce((sum, item: any) => sum + (item.ipk || 0), 0) / ipkLulusData.length) * 100) / 100
|
||||
: 0;
|
||||
|
||||
const results: MahasiswaTotal = {
|
||||
|
||||
Reference in New Issue
Block a user