route.ts 780 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { NextRequest, NextResponse } from "next/server";
  2. import { PrismaClient } from "@prisma/client";
  3. const prisma = new PrismaClient();
  4. export const GET = async (req: NextRequest) => {
  5. try {
  6. const files = await prisma.file.findMany({
  7. select: {
  8. id: true,
  9. filename: true,
  10. mimetype: true,
  11. size: true,
  12. createdAt: true,
  13. updatedAt: true,
  14. },
  15. orderBy: {
  16. createdAt: 'desc',
  17. },
  18. });
  19. return NextResponse.json({
  20. success: true,
  21. files,
  22. });
  23. } catch (error) {
  24. console.error("Error listing files:", error);
  25. return NextResponse.json(
  26. { success: false, error: "Failed to list files" },
  27. { status: 500 }
  28. );
  29. } finally {
  30. await prisma.$disconnect();
  31. }
  32. };