import { NextRequest, NextResponse } from 'next/server';

const API = process.env.NEXT_PUBLIC_API_URL;

if (!API) {
  throw new Error('API_URL is not defined');
}

export async function POST(request: NextRequest) {
  try {
    const body = await request.json();
    const fileName = body?.fileName as string | undefined;
    const authHeader = request.headers.get('authorization');

    if (!fileName) {
      return NextResponse.json({ success: false, message: 'Hiányzó fájlnév.' }, { status: 400 });
    }

    const deleteUrl = `${API}/imageRepository/deleteFile?file=${encodeURIComponent(fileName)}`;

    const response = await fetch(deleteUrl, {
      method: 'POST',
      headers: authHeader ? { Authorization: authHeader } : undefined,
    });

    const responseText = await response.text();
    console.error('Delete upstream response:', response.status, responseText);
    if (!response.ok) {
      return NextResponse.json(
        {
          success: false,
          message: responseText || 'Nem sikerült törölni a fájlt.',
        },
        { status: response.status }
      );
    }

    const normalized = responseText.trim().toLowerCase();
    if (normalized === 'false' || normalized === '0') {
      return NextResponse.json(
        {
          success: false,
          message: responseText || 'Nem sikerült törölni a fájlt.',
        },
        { status: 500 }
      );
    }

    return NextResponse.json({ success: true });
  } catch (error) {
    console.error('Error deleting event image:', error);
    return NextResponse.json(
      { success: false, message: 'Nem sikerült törölni a fájlt.' },
      { status: 500 }
    );
  }
}
