permission-node: remove permission duplicates in createPermissionIntegrationRouter

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2024-12-05 13:07:08 +01:00
parent c34fd4ed4a
commit 0aa3dd7fd3
2 changed files with 11 additions and 6 deletions
@@ -904,7 +904,7 @@ describe('createPermissionIntegrationRouter', () => {
const response = await request(
express().use(
createPermissionIntegrationRouter({
permissions: [aPermission],
permissions: [aPermission, testPermission],
resources: [
{
resourceType: 'test-resource',
@@ -328,11 +328,16 @@ export function createPermissionIntegrationRouter<
>
).rules || [],
);
const allPermissions = [
...((options as { permissions: Permission[] }).permissions || []),
...(optionsWithResources.resources?.flatMap(o => o.permissions || []) ||
[]),
];
const allPermissions = Array.from(
new Map(
[
...((options as { permissions: Permission[] }).permissions || []),
...(optionsWithResources.resources?.flatMap(o => o.permissions || []) ||
[]),
].map(i => [i.name, i]),
).values(),
);
const allResourceTypes = allOptions.reduce((acc, option) => {
if (