From b85918fc7a493d38f1124314f4711f8be2353cf6 Mon Sep 17 00:00:00 2001 From: nitin <142569587+ehconitin@users.noreply.github.com> Date: Mon, 4 Aug 2025 16:38:51 +0530 Subject: [PATCH] fix: API key regeneration fails when roles feature is disabled (#13588) --- .../api-keys/SettingsDevelopersApiKeyDetail.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx index 2902513d97..d79f9ae771 100644 --- a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx +++ b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail.tsx @@ -156,19 +156,26 @@ export const SettingsDevelopersApiKeyDetail = () => { name: string, newExpiresAt: string | null, ) => { - if (!selectedRoleId) { + const adminRole = roles.find((role) => role.label === 'Admin'); + const roleIdToUse = isApiKeyRolesEnabled ? selectedRoleId : adminRole?.id; + + if (!roleIdToUse && isApiKeyRolesEnabled) { enqueueErrorSnackBar({ message: t`A role must be selected for the API key`, }); return; } + if (!roleIdToUse) { + throw new Error('Admin role not found - this should never happen'); + } + const { data: newApiKeyData } = await createApiKey({ variables: { input: { name: name, expiresAt: newExpiresAt ?? '', - roleId: selectedRoleId, + roleId: roleIdToUse, }, }, });