Bot
Initial commit for HF Spaces
05c5ed5
Raw
History Blame Contribute Delete
1.42 kB
import { getSession } from "auth/server";
import { workflowRepository } from "lib/db/repository";
export async function GET(
_: Request,
{ params }: { params: Promise<{ id: string }> },
) {
const { id } = await params;
const session = await getSession();
if (!session) {
return new Response("Unauthorized", { status: 401 });
}
const hasAccess = await workflowRepository.checkAccess(id, session.user.id);
if (!hasAccess) {
return new Response("Unauthorized", { status: 401 });
}
const workflow = await workflowRepository.selectStructureById(id);
return Response.json(workflow);
}
export async function POST(
request: Request,
{ params }: { params: Promise<{ id: string }> },
) {
const { nodes, edges, deleteNodes, deleteEdges } = await request.json();
const { id } = await params;
const session = await getSession();
if (!session) {
return new Response("Unauthorized", { status: 401 });
}
const hasAccess = await workflowRepository.checkAccess(
id,
session.user.id,
false,
);
if (!hasAccess) {
return new Response("Unauthorized", { status: 401 });
}
await workflowRepository.saveStructure({
workflowId: id,
nodes: nodes.map((v) => ({
...v,
workflowId: id,
})),
edges: edges.map((v) => ({
...v,
workflowId: id,
})),
deleteNodes,
deleteEdges,
});
return Response.json({ success: true });
}