import {NextRequest,NextResponse} from 'next/server';
import {adminKeyMatches,prisma} from '@/lib/access';
export const runtime='nodejs';
export async function POST(request:NextRequest){
 if(!adminKeyMatches(request.headers.get('x-tachy-admin-key')))return NextResponse.json({error:'Accès refusé'},{status:403});
 try{
  const {userId}=await request.json();
  if(typeof userId!=='string'||userId.length>100)return NextResponse.json({error:'Identifiant invalide'},{status:400});
  await prisma.$transaction([prisma.accessCode.updateMany({where:{userId},data:{revokedAt:new Date()}}),prisma.loginSession.updateMany({where:{userId},data:{revokedAt:new Date()}})]);
  return NextResponse.json({ok:true});
 }catch{return NextResponse.json({error:'Révocation impossible'},{status:500});}
}
