again n again n again

This commit is contained in:
Randa Firman Putra
2025-12-07 22:16:31 +07:00
parent e3e98280c8
commit 68f8cac937

View File

@@ -16,7 +16,7 @@ export async function POST(request: NextRequest) {
}
// Validate role
if (!['ketuajurusan', 'ketuaprodi', 'pimpinan', 'admin'].includes(role)) {
if (!['pimpinan', 'admin'].includes(role)) {
return NextResponse.json(
{ message: 'Role tidak valid' },
{ status: 400 }
@@ -28,19 +28,15 @@ export async function POST(request: NextRequest) {
.select('*');
// Add specific field filter based on role
if (role === 'pimpinan' || role === 'ketuajurusan' || role === 'ketuaprodi') {
if (role === 'pimpinan') {
if (!nip) {
return NextResponse.json(
{ message: 'NIP diperlukan untuk Pimpinan' },
{ status: 400 }
);
}
// For pimpinan, accept both ketuajurusan and ketuaprodi
if (role === 'pimpinan') {
query = query.in('role_user', ['ketuajurusan', 'ketuaprodi']).eq('nip', nip);
} else {
query = query.eq('role_user', role).eq('nip', nip);
}
// For pimpinan login, search for users with role ketuajurusan OR ketuaprodi
query = query.in('role_user', ['ketuajurusan', 'ketuaprodi']).eq('nip', nip);
} else if (role === 'admin') {
if (!username) {
return NextResponse.json(
@@ -48,7 +44,7 @@ export async function POST(request: NextRequest) {
{ status: 400 }
);
}
query = query.eq('role_user', role).eq('username', username);
query = query.eq('role_user', 'admin').eq('username', username);
}
const { data: users, error } = await query;