import { NextResponse } from "next/server"; import { PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); export const GET = async () => { try { const files = await prisma.file.findMany({ select: { id: true, filename: true, mimetype: true, size: true, createdAt: true, updatedAt: true, }, orderBy: { createdAt: 'desc', }, }); const response = NextResponse.json({ success: true, files, }); // Add CORS headers response.headers.set('Access-Control-Allow-Origin', '*'); response.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); response.headers.set('Access-Control-Allow-Headers', 'Content-Type, Authorization'); return response; } catch (error) { console.error("Error listing files:", error); const response = NextResponse.json( { success: false, error: "Failed to list files" }, { status: 500 } ); response.headers.set('Access-Control-Allow-Origin', '*'); return response; } finally { await prisma.$disconnect(); } }; export const OPTIONS = async () => { const response = new NextResponse(null, { status: 200 }); response.headers.set('Access-Control-Allow-Origin', '*'); response.headers.set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); response.headers.set('Access-Control-Allow-Headers', 'Content-Type, Authorization'); return response; };