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 // 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;