testing yuk
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user