Skip to content

Commit 1a85729

Browse files
committed
fix unauthorized access to pages
1 parent 387169d commit 1a85729

File tree

8 files changed

+134
-67
lines changed

8 files changed

+134
-67
lines changed

pages/metadata/productblocks.tsx

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1-
import React from 'react';
2-
3-
import { WfoProductBlocksPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export const ProductBlocksPage = () => <WfoProductBlocksPage />;
6-
7-
export default ProductBlocksPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoProductBlocksPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const ProductBlocksPage = () => {
9+
return (
10+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_METADATA}>
11+
<WfoProductBlocksPage />
12+
</WfoPolicyRenderPageFallback>
13+
);
14+
};
15+
16+
export default ProductBlocksPage;
17+

pages/metadata/products.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
import React from 'react';
2-
3-
import { WfoProductsPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export const ProductsPage = () => <WfoProductsPage />;
6-
7-
export default ProductsPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoProductsPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const ProductsPage = () => (
9+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_METADATA}>
10+
<WfoProductsPage />
11+
</WfoPolicyRenderPageFallback>
12+
);
13+
14+
export default ProductsPage;
15+

pages/metadata/resource-types.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
import React from 'react';
2-
3-
import { WfoResourceTypesPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export const ResourceTypesPage = () => <WfoResourceTypesPage />;
6-
7-
export default ResourceTypesPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoResourceTypesPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const ResourceTypesPage = () => (
9+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_METADATA}>
10+
<WfoResourceTypesPage />
11+
</WfoPolicyRenderPageFallback>
12+
);
13+
14+
export default ResourceTypesPage;
15+

pages/metadata/tasks.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
import React from 'react';
2-
3-
import { WfoTasksPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export const TasksPage = () => <WfoTasksPage />;
6-
7-
export default TasksPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoTasksPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const TasksPage = () => (
9+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_METADATA}>
10+
<WfoTasksPage />
11+
</WfoPolicyRenderPageFallback>
12+
);
13+
14+
export default TasksPage;
15+

pages/metadata/workflows.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
import React from 'react';
2-
3-
import { WfoWorkflowsPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export const WorkflowsPage = () => <WfoWorkflowsPage />;
6-
7-
export default WorkflowsPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoWorkflowsPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const WorkflowsPage = () => (
9+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_METADATA}>
10+
<WfoWorkflowsPage />
11+
</WfoPolicyRenderPageFallback>
12+
);
13+
14+
export default WorkflowsPage;
15+

pages/settings.tsx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1-
import React from 'react';
2-
3-
import { WfoSettingsPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
export function SettingsPage() {
6-
return <WfoSettingsPage />;
7-
}
8-
9-
export default SettingsPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoSettingsPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
export const SettingsPage = () => (
9+
<WfoPolicyRenderPageFallback resource={PolicyResource.NAVIGATION_SETTINGS}>
10+
<WfoSettingsPage />
11+
</WfoPolicyRenderPageFallback>
12+
);
13+
14+
export default SettingsPage;
15+
Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1-
import React from 'react';
2-
3-
import { WfoSubscriptionDetailPage } from '@orchestrator-ui/orchestrator-ui-components';
4-
5-
const SubscriptionDetailPage = () => <WfoSubscriptionDetailPage />;
6-
7-
export default SubscriptionDetailPage;
1+
import {
2+
PolicyResource,
3+
WfoPolicyRenderPageFallback,
4+
WfoSubscriptionDetailPage,
5+
} from '@orchestrator-ui/orchestrator-ui-components';
6+
import React from 'react';
7+
8+
const SubscriptionDetailPage = () => (
9+
<WfoPolicyRenderPageFallback
10+
resource={PolicyResource.NAVIGATION_SUBSCRIPTIONS}
11+
>
12+
<WfoSubscriptionDetailPage />
13+
</WfoPolicyRenderPageFallback>
14+
);
15+
16+
export default SubscriptionDetailPage;
17+

pages/tasks/[taskId].tsx

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,29 @@
1-
import React from 'react';
2-
3-
import { useRouter } from 'next/router';
4-
5-
import { WfoProcessDetailPage } from '@orchestrator-ui/orchestrator-ui-components';
6-
7-
const TaskDetailPage = () => {
1+
import {
2+
PolicyResource,
3+
usePolicy,
4+
WfoPageUnauthorized,
5+
WfoProcessDetailPage,
6+
} from '@orchestrator-ui/orchestrator-ui-components';
7+
import { useRouter } from 'next/router';
8+
import React from 'react';
9+
10+
const TaskDetailPage = () => {
811
const router = useRouter();
912
const { taskId } = router.query;
10-
13+
14+
const { isAllowed } = usePolicy();
15+
if (!isAllowed(PolicyResource.NAVIGATION_TASKS)) {
16+
return <WfoPageUnauthorized />;
17+
}
18+
1119
return (
12-
<>
13-
{(taskId && typeof taskId === 'string' && (
14-
<WfoProcessDetailPage processId={taskId} />
15-
)) || <div>Invalid taskId</div>}
16-
</>
20+
<>
21+
{(taskId && typeof taskId === 'string' && (
22+
<WfoProcessDetailPage processId={taskId} />
23+
)) || <div>Invalid taskId</div>}
24+
</>
1725
);
18-
};
19-
20-
export default TaskDetailPage;
26+
};
27+
28+
export default TaskDetailPage;
29+

0 commit comments

Comments
 (0)