/
home
/
techb158
/
balavpn.abdallabala.com
/
src
/
app
/
api
/
admin
/
org-access
/
/home/techb158/balavpn.abdallabala.com/src/app/api/admin/org-access
mkdir
upload
Name
Size
Mode
Actions
route.js
1824
0644
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/src/app/api/admin/org-access/route.js
(1824B)
const { prisma } = require("../../../../lib/prisma"); const { jsonResponse, errorResponse } = require("../../../../lib/http"); const { requireSuperOwner } = require("../../../../lib/request-context"); export async function POST(request) { try { await requireSuperOwner(request); const { userId, organizationId } = await request.json(); if (!userId || !organizationId) return jsonResponse({ error: "userId and organizationId are required" }, 400); const user = await prisma.user.findUnique({ where: { id: userId } }); if (!user) return jsonResponse({ error: "User not found" }, 404); if (user.platformRole !== "SUPER_ADMIN") return jsonResponse({ error: "User is not a Super Admin" }, 400); const org = await prisma.organization.findUnique({ where: { id: organizationId } }); if (!org) return jsonResponse({ error: "Organization not found" }, 404); await prisma.organizationAccess.upsert({ where: { userId_organizationId: { userId, organizationId } }, update: {}, create: { userId, organizationId } }); return jsonResponse({ message: "Organization access granted" }); } catch (error) { return errorResponse(error); } } export async function DELETE(request) { try { await requireSuperOwner(request); const { searchParams } = new URL(request.url); const userId = searchParams.get("userId"); const organizationId = searchParams.get("organizationId"); if (!userId || !organizationId) return jsonResponse({ error: "userId and organizationId are required" }, 400); await prisma.organizationAccess.delete({ where: { userId_organizationId: { userId, organizationId } } }).catch(() => {}); return jsonResponse({ message: "Organization access revoked" }); } catch (error) { return errorResponse(error); } }
Save
cmd:
run