/
home
/
techb158
/
cosmic-risk.abdallabala.com
/
src
/
app
/
api
/
workspaces
/
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/workspaces
mkdir
upload
Name
Size
Mode
Actions
[workspaceId]/
-
0755
rm
route.js
1308
0644
edit
dl
rm
Edit:
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/workspaces/route.js
(1308B)
const { prisma } = require("../../../lib/prisma"); const { requireOrganizationActor } = require("../../../lib/request-context"); const { jsonResponse, errorResponse, parseJson } = require("../../../lib/http"); function slug(value) { return String(value || "workspace").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, ""); } export async function GET(request) { try { const organizationId = new URL(request.url).searchParams.get("organizationId"); await requireOrganizationActor(request, organizationId, "project:read"); const workspaces = await prisma.workspace.findMany({ where: { organizationId }, orderBy: { createdAt: "desc" } }); return jsonResponse({ workspaces }); } catch (error) { return errorResponse(error); } } export async function POST(request) { try { const body = await parseJson(request); await requireOrganizationActor(request, body.organizationId, "workspace:manage"); const workspace = await prisma.workspace.create({ data: { organizationId: body.organizationId, name: body.name, slug: body.slug || slug(body.name), type: body.type || "B2B_TEAM", status: "TRIAL" } }); return jsonResponse({ workspace }, 201); } catch (error) { return errorResponse(error); } }
Save
cmd:
run