From 2893e955975a759482cd01008938c0f4ff82c756 Mon Sep 17 00:00:00 2001 From: Henry Date: Sun, 31 May 2026 21:21:36 +0100 Subject: [PATCH] fix(cloud): free partner subscription slot when workspace is deleted --- packages/api/src/routers/workspace.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/api/src/routers/workspace.ts b/packages/api/src/routers/workspace.ts index 48b4940b..e107db5b 100644 --- a/packages/api/src/routers/workspace.ts +++ b/packages/api/src/routers/workspace.ts @@ -449,6 +449,20 @@ export const workspaceRouter = createTRPCRouter({ }); await assertPermission(ctx.db, userId, workspace.id, "workspace:delete"); + if (env("NEXT_PUBLIC_KAN_ENV") === "cloud") { + const subs = await subscriptionRepo.getByReferenceId( + ctx.db, + input.workspacePublicId, + ); + await Promise.all( + subs + .filter((s) => !!s.partnerLicenseKey) + .map((s) => + subscriptionRepo.updateById(ctx.db, s.id, { referenceId: null }), + ), + ); + } + await workspaceRepo.hardDelete(ctx.db, input.workspacePublicId); return { success: true };