/** * File: route.ts * Created by: AI Assistant * Date: 2025-11-29 * Purpose: Assignment API endpoints for single assignment operations * Part of: kreatiVortex - Platform Pembelajaran Tari Online */ import { NextResponse } from 'next/server'; import { prisma } from '@/lib/prisma'; export async function GET( _: Request, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; const assignment = await prisma.assignment.findUnique({ where: { id }, include: { educator: { include: { user: { select: { name: true, image: true, }, }, }, }, class: { select: { name: true, }, }, submissions: { include: { student: { include: { user: { select: { name: true, image: true, }, }, }, }, }, }, }, }); if (!assignment) { return NextResponse.json( { success: false, message: 'Assignment not found' }, { status: 404 } ); } return NextResponse.json({ success: true, data: assignment }); } catch (error) { console.error('Error fetching assignment:', error); return NextResponse.json( { success: false, message: 'Failed to fetch assignment' }, { status: 500 } ); } } export async function DELETE( _: Request, { params }: { params: Promise<{ id: string }> } ) { try { const { id } = await params; await prisma.assignment.delete({ where: { id }, }); return NextResponse.json({ success: true, message: 'Assignment deleted' }); } catch (error) { console.error('Error deleting assignment:', error); return NextResponse.json( { success: false, message: 'Failed to delete assignment' }, { status: 500 } ); } }