testing yuk

This commit is contained in:
Randa Firman Putra
2025-09-14 16:59:31 +07:00
parent 248fed0d0b
commit 60211ae829
63 changed files with 315 additions and 315 deletions

View File

@@ -1,7 +1,7 @@
import { NextRequest, NextResponse } from 'next/server';
import supabase from '@/lib/db';
// GET - Fetch all beasiswa mahasiswa or filter by criteria
// GET - Ambil semua data beasiswa mahasiswa atau filter berdasarkan kriteria
export async function GET(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
@@ -10,7 +10,7 @@ export async function GET(request: NextRequest) {
const search = searchParams.get('search');
const jenisBeasiswa = searchParams.get('jenis_beasiswa');
// If ID is provided, fetch specific beasiswa by ID with join
// Jika ID diberikan, ambil data beasiswa spesifik berdasarkan ID dengan join
if (id) {
const { data, error } = await supabase
.from('beasiswa_mahasiswa')
@@ -25,7 +25,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json({ message: 'Beasiswa mahasiswa not found' }, { status: 404 });
}
// Transform the data to flatten the nama and nim fields
// Transformasi data untuk meratakan field nama dan nim
const transformedData = {
...data,
nama: data.mahasiswa.nama,
@@ -36,7 +36,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json(transformedData);
}
// If id_mahasiswa is provided, fetch beasiswa for specific student with join
// Jika id_mahasiswa diberikan, ambil data beasiswa untuk mahasiswa spesifik dengan join
if (id_mahasiswa) {
const { data, error } = await supabase
.from('beasiswa_mahasiswa')
@@ -52,7 +52,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json({ message: 'Internal Server Error' }, { status: 500 });
}
// Transform the data to flatten the nama and nim fields
// Transformasi data untuk meratakan field nama dan nim
const transformedData = data.map(item => ({
...item,
nama: item.mahasiswa.nama,
@@ -62,26 +62,26 @@ export async function GET(request: NextRequest) {
return NextResponse.json(transformedData);
}
// Build the query based on filters with join
// Bangun query berdasarkan filter dengan join
let query = supabase.from('beasiswa_mahasiswa').select(`
*,
mahasiswa!inner(nama, nim)
`);
// Add search condition if provided
// Tambahkan kondisi pencarian jika diberikan
if (search) {
query = query.or(`mahasiswa.nama.ilike.%${search}%,mahasiswa.nim.ilike.%${search}%,nama_beasiswa.ilike.%${search}%,sumber_beasiswa.ilike.%${search}%`);
}
// Add jenis_beasiswa filter if provided
// Tambahkan filter jenis_beasiswa jika diberikan
if (jenisBeasiswa) {
query = query.eq('jenis_beasiswa', jenisBeasiswa);
}
// Add order by
// Tambahkan pengurutan
query = query.order('created_at', { ascending: false });
// Execute the query
// Eksekusi query
const { data, error } = await query;
if (error) {
@@ -89,7 +89,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json({ message: 'Internal Server Error' }, { status: 500 });
}
// Transform the data to flatten the nama and nim fields
// Transformasi data untuk meratakan field nama dan nim
const transformedData = data.map(item => ({
...item,
nama: item.mahasiswa.nama,
@@ -103,7 +103,7 @@ export async function GET(request: NextRequest) {
}
}
// POST - Create a new beasiswa mahasiswa
// POST - Buat data beasiswa mahasiswa baru
export async function POST(request: NextRequest) {
try {
const body = await request.json();
@@ -122,7 +122,7 @@ export async function POST(request: NextRequest) {
);
}
// Check if mahasiswa exists by NIM and get id_mahasiswa
// Cek apakah mahasiswa ada berdasarkan NIM dan ambil id_mahasiswa
const { data: mahasiswaExists, error: checkError } = await supabase
.from('mahasiswa')
.select('id_mahasiswa, nama')
@@ -146,7 +146,7 @@ export async function POST(request: NextRequest) {
);
}
// Insert new beasiswa using id_mahasiswa
// Insert data beasiswa baru menggunakan id_mahasiswa
const { data, error } = await supabase
.from('beasiswa_mahasiswa')
.insert({
@@ -176,7 +176,7 @@ export async function POST(request: NextRequest) {
}
}
// PUT - Update an existing beasiswa mahasiswa
// PUT - Update data beasiswa mahasiswa yang sudah ada
export async function PUT(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
@@ -202,7 +202,7 @@ export async function PUT(request: NextRequest) {
);
}
// Check if beasiswa exists
// Cek apakah beasiswa ada
const { data: existing, error: checkError } = await supabase
.from('beasiswa_mahasiswa')
.select('*')
@@ -237,7 +237,7 @@ export async function PUT(request: NextRequest) {
);
}
// Update beasiswa using id_mahasiswa
// Update beasiswa menggunakan id_mahasiswa
const { error } = await supabase
.from('beasiswa_mahasiswa')
.update({
@@ -262,7 +262,7 @@ export async function PUT(request: NextRequest) {
}
}
// DELETE - Delete a beasiswa mahasiswa
// DELETE - Hapus data beasiswa mahasiswa
export async function DELETE(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
@@ -283,7 +283,7 @@ export async function DELETE(request: NextRequest) {
return NextResponse.json({ message: 'Beasiswa mahasiswa not found' }, { status: 404 });
}
// Delete beasiswa
// Hapus beasiswa
const { error } = await supabase
.from('beasiswa_mahasiswa')
.delete()