/
home
/
techb158
/
cosmic-risk.abdallabala.com
/
src
/
app
/
api
/
organizations
/
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/organizations
mkdir
upload
Name
Size
Mode
Actions
[organizationId]/
-
0744
rm
route.js
1742
0644
edit
dl
rm
Edit:
/home/techb158/cosmic-risk.abdallabala.com/src/app/api/organizations/route.js
(1742B)
const { prisma } = require("../../../lib/prisma"); const { getActorFromRequest } = require("../../../lib/request-context"); const { jsonResponse, errorResponse, parseJson } = require("../../../lib/http"); function slug(value) { return String(value || "organization").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, ""); } export async function GET(request) { try { const actor = await getActorFromRequest(request); return jsonResponse({ organizations: actor.memberships.map(item => ({ id: item.organization.id, name: item.organization.name, slug: item.organization.slug, status: item.organization.status, role: item.role.code })) }); } catch (error) { return errorResponse(error); } } export async function POST(request) { try { const actor = await getActorFromRequest(request); const body = await parseJson(request); const ownerRole = await prisma.role.findUniqueOrThrow({ where: { code: "owner" } }); const organization = await prisma.organization.create({ data: { name: body.name, slug: body.slug || slug(body.name), status: "TRIAL", planCode: body.planCode || "pilot", manualBilling: true, memberships: { create: { userId: actor.id, roleId: ownerRole.id, status: "ACTIVE" } }, subscriptions: { create: { source: "MANUAL", status: "TRIALING", planCode: body.planCode || "pilot", adminOverride: true } } } }); return jsonResponse({ organization }, 201); } catch (error) { return errorResponse(error); } }
Save
cmd:
run