From 5db7508530f812e7e8f565d55bdca7b94b094253 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sun, 2 Mar 2025 22:32:56 -0600 Subject: [PATCH] feat(organization): prevent deletion of last owned organization --- apps/dokploy/server/api/routers/organization.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/dokploy/server/api/routers/organization.ts b/apps/dokploy/server/api/routers/organization.ts index 6f7a9c67d..3d7753de0 100644 --- a/apps/dokploy/server/api/routers/organization.ts +++ b/apps/dokploy/server/api/routers/organization.ts @@ -133,6 +133,18 @@ export const organizationRouter = createTRPCRouter({ }); } + const ownerOrgs = await db.query.organization.findMany({ + where: eq(organization.ownerId, ctx.user.id), + }); + + if (ownerOrgs.length <= 1) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "You must maintain at least one organization where you are the owner", + }); + } + const result = await db .delete(organization) .where(eq(organization.id, input.organizationId));