import {NextRequest} from 'next/server';
import {digest,prisma} from '@/lib/access';
export async function authenticatedStudent(request:NextRequest){
 const token=request.cookies.get('tachy_session')?.value;
 if(!token)return null;
 const now=new Date();
 const session=await prisma.loginSession.findUnique({where:{tokenHash:digest(token)},include:{user:true}});
 if(!session||session.revokedAt||session.expiresAt<=now||session.user.role!=='STUDENT')return null;
 const code=await prisma.accessCode.findFirst({where:{userId:session.userId,revokedAt:null,expiresAt:{gt:now}},select:{id:true}});
 return code?session.user:null;
}
