diff --git a/app/api/sites/delete/route.ts b/app/api/sites/delete/route.ts new file mode 100644 index 0000000..bd16574 --- /dev/null +++ b/app/api/sites/delete/route.ts @@ -0,0 +1,22 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; + +interface Body { + siteId: string; +} + +export async function DELETE(request: NextRequest) { + const body: Body = await request.json(); + const { siteId } = body; + + try { + const site = await prisma.site.delete({ + where: { id: Number(siteId) }, + }); + + return NextResponse.json(site); + } catch (error) { + console.error(error); + return NextResponse.json({ error: "Failed to delete site" }, { status: 500 }); + } +} \ No newline at end of file diff --git a/app/api/sites/edit/route.ts b/app/api/sites/edit/route.ts new file mode 100644 index 0000000..a81325c --- /dev/null +++ b/app/api/sites/edit/route.ts @@ -0,0 +1,25 @@ +import { NextRequest, NextResponse } from "next/server"; +import prisma from "@/app/prisma"; + +interface Body { + siteId: string; + name: string; + description: string; +} + +export async function POST(request: NextRequest) { + const body: Body = await request.json(); + const { siteId, name, description } = body; + + try { + const site = await prisma.site.update({ + where: { id: Number(siteId) }, + data: { name, description }, + }); + + return NextResponse.json(site); + } catch (error) { + console.error(error); + return NextResponse.json({ error: "Failed to update site" }, { status: 500 }); + } +}