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 cookieStore = await cookies(); const token = cookieStore.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: user, error } = await supabase .from('user_app') .select('id_user, nim, username, role') .eq('id_user', payload.id) .single(); if (error || !user) { return NextResponse.json( { error: 'User not found' }, { status: 404 } ); } return NextResponse.json({ user: { id: user.id_user, nim: user.nim, username: user.username, role: user.role } }); } catch (error) { console.error('Auth check error:', error); return NextResponse.json( { error: 'Unauthorized' }, { status: 401 } ); } }