oversci/app/api/files/route.ts
2025-01-31 19:32:50 +08:00

47 lines
984 B
TypeScript

// 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 }
);
}
}