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