again n again n again
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user