﻿import { NextRequest, NextResponse } from 'next/server';
import { prisma } from '@/lib/prisma';

export async function GET(request: NextRequest) {
  try {
    const { searchParams } = new URL(request.url);
    const employeeId = searchParams.get('employeeId');
    
    if (!employeeId) {
      return NextResponse.json([], { status: 200 });
    }
    
    // Get enrollments for this employee
    const enrollments = await prisma.trainingEnrollment.findMany({
      where: { employeeId },
      include: {
        program: true
      }
    });
    
    // Format the response
    const enrolledTrainings = enrollments.map(enrollment => ({
      id: enrollment.program.id,
      title: enrollment.program.title,
      dept: enrollment.program.dept,
      trainer: enrollment.program.trainer,
      mode: enrollment.program.mode,
      cost: enrollment.program.cost,
      startDate: enrollment.program.startDate,
      endDate: enrollment.program.endDate,
      status: enrollment.completionStatus === 'Completed' ? 'Completed' : 
              new Date(enrollment.program.startDate) > new Date() ? 'Upcoming' : 'Ongoing',
      enrolledDate: enrollment.enrolledDate,
      completionStatus: enrollment.completionStatus
    }));
    
    return NextResponse.json(enrolledTrainings);
  } catch (error) {
    console.error('Error fetching enrolled trainings:', error);
    return NextResponse.json({ error: 'Failed to fetch enrolled trainings' }, { status: 500 });
  }
}
