| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 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;
- };
|