From 1a85729d0ea99af2ad37058b8e287301bebec4b4 Mon Sep 17 00:00:00 2001 From: Mohammad Torkashvand Date: Mon, 3 Jun 2024 12:08:58 +0200 Subject: [PATCH] fix unauthorized access to pages --- pages/metadata/productblocks.tsx | 24 ++++++++++---- pages/metadata/products.tsx | 22 +++++++++---- pages/metadata/resource-types.tsx | 22 +++++++++---- pages/metadata/tasks.tsx | 22 +++++++++---- pages/metadata/workflows.tsx | 22 +++++++++---- pages/settings.tsx | 24 ++++++++------ pages/subscriptions/[subscriptionId].tsx | 24 ++++++++++---- pages/tasks/[taskId].tsx | 41 +++++++++++++++--------- 8 files changed, 134 insertions(+), 67 deletions(-) diff --git a/pages/metadata/productblocks.tsx b/pages/metadata/productblocks.tsx index de6c36b..4818248 100644 --- a/pages/metadata/productblocks.tsx +++ b/pages/metadata/productblocks.tsx @@ -1,7 +1,17 @@ -import React from 'react'; - -import { WfoProductBlocksPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export const ProductBlocksPage = () => ; - -export default ProductBlocksPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoProductBlocksPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const ProductBlocksPage = () => { + return ( + + + + ); + }; + + export default ProductBlocksPage; + \ No newline at end of file diff --git a/pages/metadata/products.tsx b/pages/metadata/products.tsx index 5d6ceb3..a2751a3 100644 --- a/pages/metadata/products.tsx +++ b/pages/metadata/products.tsx @@ -1,7 +1,15 @@ -import React from 'react'; - -import { WfoProductsPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export const ProductsPage = () => ; - -export default ProductsPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoProductsPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const ProductsPage = () => ( + + + + ); + + export default ProductsPage; + \ No newline at end of file diff --git a/pages/metadata/resource-types.tsx b/pages/metadata/resource-types.tsx index 4ff47c2..ac8d0c2 100644 --- a/pages/metadata/resource-types.tsx +++ b/pages/metadata/resource-types.tsx @@ -1,7 +1,15 @@ -import React from 'react'; - -import { WfoResourceTypesPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export const ResourceTypesPage = () => ; - -export default ResourceTypesPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoResourceTypesPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const ResourceTypesPage = () => ( + + + + ); + + export default ResourceTypesPage; + \ No newline at end of file diff --git a/pages/metadata/tasks.tsx b/pages/metadata/tasks.tsx index 5d8e1c5..310db3f 100644 --- a/pages/metadata/tasks.tsx +++ b/pages/metadata/tasks.tsx @@ -1,7 +1,15 @@ -import React from 'react'; - -import { WfoTasksPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export const TasksPage = () => ; - -export default TasksPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoTasksPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const TasksPage = () => ( + + + + ); + + export default TasksPage; + \ No newline at end of file diff --git a/pages/metadata/workflows.tsx b/pages/metadata/workflows.tsx index 58743fd..fa6de73 100644 --- a/pages/metadata/workflows.tsx +++ b/pages/metadata/workflows.tsx @@ -1,7 +1,15 @@ -import React from 'react'; - -import { WfoWorkflowsPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export const WorkflowsPage = () => ; - -export default WorkflowsPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoWorkflowsPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const WorkflowsPage = () => ( + + + + ); + + export default WorkflowsPage; + \ No newline at end of file diff --git a/pages/settings.tsx b/pages/settings.tsx index 528bb31..4281090 100644 --- a/pages/settings.tsx +++ b/pages/settings.tsx @@ -1,9 +1,15 @@ -import React from 'react'; - -import { WfoSettingsPage } from '@orchestrator-ui/orchestrator-ui-components'; - -export function SettingsPage() { - return ; -} - -export default SettingsPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoSettingsPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + export const SettingsPage = () => ( + + + + ); + + export default SettingsPage; + \ No newline at end of file diff --git a/pages/subscriptions/[subscriptionId].tsx b/pages/subscriptions/[subscriptionId].tsx index 306ed8a..934e43f 100644 --- a/pages/subscriptions/[subscriptionId].tsx +++ b/pages/subscriptions/[subscriptionId].tsx @@ -1,7 +1,17 @@ -import React from 'react'; - -import { WfoSubscriptionDetailPage } from '@orchestrator-ui/orchestrator-ui-components'; - -const SubscriptionDetailPage = () => ; - -export default SubscriptionDetailPage; +import { + PolicyResource, + WfoPolicyRenderPageFallback, + WfoSubscriptionDetailPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import React from 'react'; + + const SubscriptionDetailPage = () => ( + + + + ); + + export default SubscriptionDetailPage; + \ No newline at end of file diff --git a/pages/tasks/[taskId].tsx b/pages/tasks/[taskId].tsx index 5264aa3..ddf8893 100644 --- a/pages/tasks/[taskId].tsx +++ b/pages/tasks/[taskId].tsx @@ -1,20 +1,29 @@ -import React from 'react'; - -import { useRouter } from 'next/router'; - -import { WfoProcessDetailPage } from '@orchestrator-ui/orchestrator-ui-components'; - -const TaskDetailPage = () => { +import { + PolicyResource, + usePolicy, + WfoPageUnauthorized, + WfoProcessDetailPage, + } from '@orchestrator-ui/orchestrator-ui-components'; + import { useRouter } from 'next/router'; + import React from 'react'; + + const TaskDetailPage = () => { const router = useRouter(); const { taskId } = router.query; - + + const { isAllowed } = usePolicy(); + if (!isAllowed(PolicyResource.NAVIGATION_TASKS)) { + return ; + } + return ( - <> - {(taskId && typeof taskId === 'string' && ( - - )) ||
Invalid taskId
} - + <> + {(taskId && typeof taskId === 'string' && ( + + )) ||
Invalid taskId
} + ); -}; - -export default TaskDetailPage; + }; + + export default TaskDetailPage; + \ No newline at end of file