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,14 +1,14 @@
import { NextRequest, NextResponse } from 'next/server';
import supabase from '@/lib/db';
// GET - Fetch all mahasiswa or a specific one by NIM
// GET - Ambil semua data mahasiswa atau satu mahasiswa spesifik berdasarkan NIM
export async function GET(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
const nim = searchParams.get('nim');
if (nim) {
// Fetch specific mahasiswa by NIM with joins
// Ambil mahasiswa spesifik berdasarkan NIM dengan join
const { data, error } = await supabase
.from('mahasiswa')
.select(`
@@ -22,7 +22,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json({ message: 'Mahasiswa not found' }, { status: 404 });
}
// Transform the data to flatten the joined fields
// Transformasi data untuk meratakan field yang di-join
const transformedData = {
...data,
nama_kelompok_keahlian: data.kelompok_keahlian?.nama_kelompok || null
@@ -31,7 +31,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json(transformedData);
} else {
// Fetch all mahasiswa with joins
// Ambil semua mahasiswa dengan join
const { data, error } = await supabase
.from('mahasiswa')
.select(`
@@ -45,7 +45,7 @@ export async function GET(request: NextRequest) {
return NextResponse.json({ message: 'Internal Server Error' }, { status: 500 });
}
// Transform the data to flatten the joined fields
// Transformasi data untuk meratakan field yang di-join
const transformedData = data.map(item => ({
...item,
nama_kelompok_keahlian: item.kelompok_keahlian?.nama_kelompok || null
@@ -59,7 +59,7 @@ export async function GET(request: NextRequest) {
}
}
// POST - Create a new mahasiswa
// POST - Buat data mahasiswa baru
export async function POST(request: NextRequest) {
try {
const body = await request.json();
@@ -78,7 +78,7 @@ export async function POST(request: NextRequest) {
semester
} = body;
// Validate required fields
// Validasi field yang wajib diisi
if (!nim || !nama || !jk || !tahun_angkatan) {
return NextResponse.json(
{ message: 'Missing required fields: nim, nama, jk, tahun_angkatan' },
@@ -86,7 +86,7 @@ export async function POST(request: NextRequest) {
);
}
// Check if mahasiswa already exists
// Cek apakah mahasiswa sudah ada
const { data: existing, error: checkError } = await supabase
.from('mahasiswa')
.select('nim')
@@ -100,7 +100,7 @@ export async function POST(request: NextRequest) {
);
}
// Insert new mahasiswa
// Insert mahasiswa baru
const { data, error } = await supabase
.from('mahasiswa')
.insert({
@@ -135,7 +135,7 @@ export async function POST(request: NextRequest) {
}
}
// PUT - Update an existing mahasiswa
// PUT - Update data mahasiswa yang sudah ada
export async function PUT(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
@@ -160,7 +160,7 @@ export async function PUT(request: NextRequest) {
semester
} = body;
// Check if mahasiswa exists
// Cek apakah mahasiswa ada
const { data: existing, error: checkError } = await supabase
.from('mahasiswa')
.select('*')
@@ -201,7 +201,7 @@ export async function PUT(request: NextRequest) {
}
}
// DELETE - Delete a mahasiswa
// DELETE - Hapus data mahasiswa
export async function DELETE(request: NextRequest) {
try {
const { searchParams } = new URL(request.url);
@@ -222,7 +222,7 @@ export async function DELETE(request: NextRequest) {
return NextResponse.json({ message: 'Mahasiswa not found' }, { status: 404 });
}
// Delete mahasiswa
// Hapus mahasiswa
const { error } = await supabase
.from('mahasiswa')
.delete()