import { NextResponse } from 'next/server'; import { cookies } from 'next/headers'; import { jwtVerify } from 'jose'; import supabase from '@/lib/db'; export async function GET() { try { const token = (await (await cookies()).get('token'))?.value; if (!token) { return NextResponse.json( { error: 'Unauthorized' }, { status: 401 } ); } // Verify JWT token const { payload } = await jwtVerify( token, new TextEncoder().encode(process.env.JWT_SECRET || 'your-secret-key') ); // Get user data from user_app table const { data: users, error } = await supabase .from('user_app') .select('id_user, nim, username, role') .eq('id_user', payload.id) .single(); if (error || !users) { return NextResponse.json( { error: 'User not found' }, { status: 404 } ); } return NextResponse.json({ user: { id: users.id_user, nim: users.nim, username: users.username, role: users.role } }); } catch (error) { console.error('Auth check error:', error); return NextResponse.json( { error: 'Unauthorized' }, { status: 401 } ); } }