From 57084f2caa494003e6c372da717a32844b7b2fb0 Mon Sep 17 00:00:00 2001 From: Atef Bellaaj Date: Wed, 18 Jun 2025 18:09:55 +0200 Subject: [PATCH] feat: enforce at least one owner requirement for permission updates and add corresponding localization messages --- .../Agents/Sharing/ManagePermissionsDialog.tsx | 18 +++++++++++++++++- client/src/locales/de/translation.json | 3 ++- client/src/locales/en/translation.json | 5 +++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/client/src/components/SidePanel/Agents/Sharing/ManagePermissionsDialog.tsx b/client/src/components/SidePanel/Agents/Sharing/ManagePermissionsDialog.tsx index a4fb2c1036..c70b22d229 100644 --- a/client/src/components/SidePanel/Agents/Sharing/ManagePermissionsDialog.tsx +++ b/client/src/components/SidePanel/Agents/Sharing/ManagePermissionsDialog.tsx @@ -165,6 +165,11 @@ export default function ManagePermissionsDialog({ const totalShares = managedShares.length + (managedIsPublic ? 1 : 0); const originalTotalShares = currentShares.length + (isPublic ? 1 : 0); + // Check if there's at least one owner (user, group, or public with owner role) + const hasAtLeastOneOwner = + managedShares.some((share) => share.accessRoleId === ACCESS_ROLE_IDS.AGENT_OWNER) || + (managedIsPublic && managedPublicRole === ACCESS_ROLE_IDS.AGENT_OWNER); + return ( @@ -281,7 +286,12 @@ export default function ManagePermissionsDialog({