From 4b2a4200284b83fb3ef2b3ba1212d60a915228d0 Mon Sep 17 00:00:00 2001 From: Ankita Kinger Date: Thu, 27 Feb 2025 14:25:43 +0530 Subject: [PATCH] chore: Removing the hook for create actions permission (#39470) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description Removing the hook for create actions permission as its no longer required. Fixes [#39035](https://github.com/appsmithorg/appsmith/issues/39035) ## Automation /ok-to-test tags="@tag.Datasource, @tag.JS" ### :mag: Cypress test results > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: > Commit: 7a64f7b2c2a68c03d8fe91f935b2ba7643626f4e > Cypress dashboard. > Tags: `@tag.Datasource, @tag.JS` > Spec: >
Thu, 27 Feb 2025 08:40:44 UTC ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No ## Summary by CodeRabbit - **Refactor** - Updated the logic for evaluating permissions when creating actions within the Integrated Development Environment. - Replaced the previous approach with a refined method that combines feature flag checks and current page permissions for more granular and consistent user access control. --- .../IDE/hooks/useCreateActionsPermissions.ts | 20 ------------------- .../IDE/hooks/useCreateActionsPermissions.ts | 1 - .../components/JSExplorer/JSSegmentList.tsx | 10 ++++++++-- .../QueryExplorer/QuerySegmentList.tsx | 10 ++++++++-- 4 files changed, 16 insertions(+), 25 deletions(-) delete mode 100644 app/client/src/ce/entities/IDE/hooks/useCreateActionsPermissions.ts delete mode 100644 app/client/src/ee/entities/IDE/hooks/useCreateActionsPermissions.ts diff --git a/app/client/src/ce/entities/IDE/hooks/useCreateActionsPermissions.ts b/app/client/src/ce/entities/IDE/hooks/useCreateActionsPermissions.ts deleted file mode 100644 index 25af291d79..0000000000 --- a/app/client/src/ce/entities/IDE/hooks/useCreateActionsPermissions.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { useFeatureFlag } from "utils/hooks/useFeatureFlag"; -import { IDE_TYPE, type IDEType } from "ee/IDE/Interfaces/IDETypes"; -import { FEATURE_FLAG } from "ee/entities/FeatureFlag"; -import { useSelector } from "react-redux"; -import { getPagePermissions } from "selectors/editorSelectors"; -import { getHasCreateActionPermission } from "ee/utils/BusinessFeatures/permissionPageHelpers"; - -export const useCreateActionsPermissions = (ideType: IDEType) => { - const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled); - const pagePermissions = useSelector(getPagePermissions); - - switch (ideType) { - case IDE_TYPE.App: { - return getHasCreateActionPermission(isFeatureEnabled, pagePermissions); - } - default: { - return true; - } - } -}; diff --git a/app/client/src/ee/entities/IDE/hooks/useCreateActionsPermissions.ts b/app/client/src/ee/entities/IDE/hooks/useCreateActionsPermissions.ts deleted file mode 100644 index 87326ae229..0000000000 --- a/app/client/src/ee/entities/IDE/hooks/useCreateActionsPermissions.ts +++ /dev/null @@ -1 +0,0 @@ -export { useCreateActionsPermissions } from "ce/entities/IDE/hooks/useCreateActionsPermissions"; diff --git a/app/client/src/pages/AppIDE/components/JSExplorer/JSSegmentList.tsx b/app/client/src/pages/AppIDE/components/JSExplorer/JSSegmentList.tsx index 7b6302565f..791e6157cd 100644 --- a/app/client/src/pages/AppIDE/components/JSExplorer/JSSegmentList.tsx +++ b/app/client/src/pages/AppIDE/components/JSExplorer/JSSegmentList.tsx @@ -23,9 +23,10 @@ import { filterEntityGroupsBySearchTerm } from "IDE/utils"; import { useLocation } from "react-router"; import { getIDETypeByUrl } from "ee/entities/IDE/utils"; import { useParentEntityInfo } from "ee/IDE/hooks/useParentEntityInfo"; -import { useCreateActionsPermissions } from "ee/entities/IDE/hooks/useCreateActionsPermissions"; import { JSEntity } from "ee/pages/AppIDE/components/JSListItem/ListItem"; import type { EntityItem } from "ee/IDE/Interfaces/EntityItem"; +import { getPagePermissions } from "selectors/editorSelectors"; +import { getHasCreateActionPermission } from "ee/utils/BusinessFeatures/permissionPageHelpers"; const JSContainer = styled(Flex)` & .t--entity-item { @@ -42,7 +43,12 @@ export const ListJSObjects = () => { const location = useLocation(); const ideType = getIDETypeByUrl(location.pathname); const { editorId, parentEntityId } = useParentEntityInfo(ideType); - const canCreateActions = useCreateActionsPermissions(ideType); + const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled); + const pagePermissions = useSelector(getPagePermissions); + const canCreateActions = getHasCreateActionPermission( + isFeatureEnabled, + pagePermissions, + ); const isNewADSTemplatesEnabled = useFeatureFlag( FEATURE_FLAG.release_ads_entity_item_enabled, diff --git a/app/client/src/pages/AppIDE/components/QueryExplorer/QuerySegmentList.tsx b/app/client/src/pages/AppIDE/components/QueryExplorer/QuerySegmentList.tsx index f1b4209556..bd8bc121ab 100644 --- a/app/client/src/pages/AppIDE/components/QueryExplorer/QuerySegmentList.tsx +++ b/app/client/src/pages/AppIDE/components/QueryExplorer/QuerySegmentList.tsx @@ -24,9 +24,10 @@ import { ActionEntityItem } from "ee/pages/AppIDE/components/QueryEntityItem/Lis import { useLocation } from "react-router"; import { getIDETypeByUrl } from "ee/entities/IDE/utils"; import { useParentEntityInfo } from "ee/IDE/hooks/useParentEntityInfo"; -import { useCreateActionsPermissions } from "ee/entities/IDE/hooks/useCreateActionsPermissions"; import { objectKeys } from "@appsmith/utils"; import type { EntityItem } from "ee/IDE/Interfaces/EntityItem"; +import { getPagePermissions } from "selectors/editorSelectors"; +import { getHasCreateActionPermission } from "ee/utils/BusinessFeatures/permissionPageHelpers"; export const ListQuery = () => { const [searchTerm, setSearchTerm] = useState(""); @@ -36,7 +37,12 @@ export const ListQuery = () => { const location = useLocation(); const ideType = getIDETypeByUrl(location.pathname); const { editorId, parentEntityId } = useParentEntityInfo(ideType); - const canCreateActions = useCreateActionsPermissions(ideType); + const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled); + const pagePermissions = useSelector(getPagePermissions); + const canCreateActions = getHasCreateActionPermission( + isFeatureEnabled, + pagePermissions, + ); const showWorkflows = useSelector(getShowWorkflowFeature);