Add Kelola Data

This commit is contained in:
Randa Firman Putra
2025-07-15 14:46:34 +07:00
parent 833b307602
commit 4585f6a346
28 changed files with 2251 additions and 887 deletions

View File

@@ -111,14 +111,13 @@ export async function POST(request: NextRequest) {
nim,
nama_beasiswa,
sumber_beasiswa,
beasiswa_status,
jenis_beasiswa
} = body;
// Validate required fields
if (!nim || !nama_beasiswa || !sumber_beasiswa || !beasiswa_status || !jenis_beasiswa) {
if (!nim || !nama_beasiswa || !sumber_beasiswa || !jenis_beasiswa) {
return NextResponse.json(
{ message: 'Missing required fields: nim, nama_beasiswa, sumber_beasiswa, beasiswa_status, jenis_beasiswa' },
{ message: 'Missing required fields: nim, nama_beasiswa, sumber_beasiswa, jenis_beasiswa' },
{ status: 400 }
);
}
@@ -138,16 +137,8 @@ export async function POST(request: NextRequest) {
}
// Validate enum values
const validStatus = ['Aktif', 'Selesai', 'Dibatalkan'];
const validJenisBeasiswa = ['Pemerintah', 'Non-Pemerintah'];
if (!validStatus.includes(beasiswa_status)) {
return NextResponse.json(
{ message: 'Invalid beasiswa_status value. Must be one of: Aktif, Selesai, Dibatalkan' },
{ status: 400 }
);
}
if (!validJenisBeasiswa.includes(jenis_beasiswa)) {
return NextResponse.json(
{ message: 'Invalid jenis_beasiswa value. Must be one of: Pemerintah, Non-Pemerintah' },
@@ -162,7 +153,6 @@ export async function POST(request: NextRequest) {
id_mahasiswa: mahasiswaExists.id_mahasiswa,
nama_beasiswa,
sumber_beasiswa,
beasiswa_status,
jenis_beasiswa
})
.select()
@@ -201,14 +191,13 @@ export async function PUT(request: NextRequest) {
nim,
nama_beasiswa,
sumber_beasiswa,
beasiswa_status,
jenis_beasiswa
} = body;
// Validate required fields
if (!nim || !nama_beasiswa || !sumber_beasiswa || !beasiswa_status || !jenis_beasiswa) {
if (!nim || !nama_beasiswa || !sumber_beasiswa || !jenis_beasiswa) {
return NextResponse.json(
{ message: 'Missing required fields: nim, nama_beasiswa, sumber_beasiswa, beasiswa_status, jenis_beasiswa' },
{ message: 'Missing required fields: nim, nama_beasiswa, sumber_beasiswa, jenis_beasiswa' },
{ status: 400 }
);
}
@@ -239,16 +228,8 @@ export async function PUT(request: NextRequest) {
}
// Validate enum values
const validStatus = ['Aktif', 'Selesai', 'Dibatalkan'];
const validJenisBeasiswa = ['Pemerintah', 'Non-Pemerintah'];
if (!validStatus.includes(beasiswa_status)) {
return NextResponse.json(
{ message: 'Invalid beasiswa_status value. Must be one of: Aktif, Selesai, Dibatalkan' },
{ status: 400 }
);
}
if (!validJenisBeasiswa.includes(jenis_beasiswa)) {
return NextResponse.json(
{ message: 'Invalid jenis_beasiswa value. Must be one of: Pemerintah, Non-Pemerintah' },
@@ -263,7 +244,6 @@ export async function PUT(request: NextRequest) {
id_mahasiswa: mahasiswaExists.id_mahasiswa,
nama_beasiswa,
sumber_beasiswa,
beasiswa_status,
jenis_beasiswa
})
.eq('id_beasiswa', id);