// app/api/files/route.ts import { NextResponse } from "next/server"; import prisma from "@/app/lib/prisma"; // 获取文件树 export async function GET() { try { const files = await prisma.file.findMany({ include: { children: true, }, where: { parentId: null, // 获取根目录文件 }, }); return NextResponse.json(files); } catch (error) { return NextResponse.json( { error: "Failed to fetch files" + error}, { status: 500 } ); } } // 创建新文件/文件夹 export async function POST(request: Request) { try { const { name, type, parentId } = await request.json(); const file = await prisma.file.create({ data: { name, type, parentId, updatedAt: new Date(), }, }); return NextResponse.json(file); } catch (error) { return NextResponse.json( { error: "Failed to create file" + error}, { status: 500 } ); } }