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

export async function GET(
  request: NextRequest,
  { params }: { params: Promise<{ id: string }> | { id: string } }
) {
  try {
    const { id } = await params;
    
    const program = await prisma.trainingProgram.findUnique({
      where: { id }
    });
    
    if (!program) {
      return NextResponse.json({ error: 'Training program not found' }, { status: 404 });
    }
    
    return NextResponse.json(program);
  } catch (error) {
    console.error('Error fetching training program:', error);
    return NextResponse.json({ error: 'Failed to fetch training program' }, { status: 500 });
  }
}

export async function PUT(
  request: NextRequest,
  { params }: { params: Promise<{ id: string }> | { id: string } }
) {
  try {
    const { id } = await params;
    const body = await request.json();
    
    const program = await prisma.trainingProgram.update({
      where: { id },
      data: {
        title: body.title,
        dept: body.dept,
        trainer: body.trainer,
        mode: body.mode,
        cost: body.cost,
        capacity: body.capacity,
        enrolled: body.enrolled,
        startDate: new Date(body.startDate),
        endDate: new Date(body.endDate),
        status: body.status,
        venue: body.venue,
        description: body.description,
        objectives: body.objectives,
      }
    });
    
    return NextResponse.json(program);
  } catch (error) {
    console.error('Error updating training program:', error);
    return NextResponse.json({ error: 'Failed to update training program' }, { status: 500 });
  }
}
