Aggregate catalog permissions (#12832)
As a follow up to https://github.com/backstage/backstage/pull/11695, the catalog permissions will now be aggregated and made available on the `/.well-known/backstage/permissions/metadata/` endpoint. Signed-off-by: Joon Park <joonp@spotify.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-common': patch
|
||||
---
|
||||
|
||||
Export aggregated list of all catalog permissions
|
||||
@@ -91,7 +91,10 @@ import {
|
||||
} from '@backstage/plugin-permission-node';
|
||||
import { AuthorizedEntitiesCatalog } from './AuthorizedEntitiesCatalog';
|
||||
import { basicEntityFilter } from './request/basicEntityFilter';
|
||||
import { RESOURCE_TYPE_CATALOG_ENTITY } from '@backstage/plugin-catalog-common';
|
||||
import {
|
||||
catalogPermissions,
|
||||
RESOURCE_TYPE_CATALOG_ENTITY,
|
||||
} from '@backstage/plugin-catalog-common';
|
||||
import { AuthorizedLocationService } from './AuthorizedLocationService';
|
||||
|
||||
/** @public */
|
||||
@@ -435,6 +438,7 @@ export class CatalogBuilder {
|
||||
entitiesByRef[stringifyEntityRef(parseEntityRef(resourceRef))],
|
||||
);
|
||||
},
|
||||
permissions: catalogPermissions,
|
||||
rules: this.permissionRules,
|
||||
});
|
||||
const stitcher = new Stitcher(dbClient, logger);
|
||||
|
||||
@@ -49,6 +49,12 @@ export const catalogLocationDeletePermission: BasicPermission;
|
||||
// @alpha
|
||||
export const catalogLocationReadPermission: BasicPermission;
|
||||
|
||||
// @alpha
|
||||
export const catalogPermissions: (
|
||||
| BasicPermission
|
||||
| ResourcePermission<'catalog-entity'>
|
||||
)[];
|
||||
|
||||
// @alpha
|
||||
export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity';
|
||||
```
|
||||
|
||||
@@ -30,6 +30,7 @@ export {
|
||||
catalogLocationReadPermission,
|
||||
catalogLocationCreatePermission,
|
||||
catalogLocationDeletePermission,
|
||||
catalogPermissions,
|
||||
} from './permissions';
|
||||
export type { CatalogEntityPermission } from './permissions';
|
||||
|
||||
|
||||
@@ -129,3 +129,17 @@ export const catalogLocationDeletePermission = createPermission({
|
||||
action: 'delete',
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* List of all catalog permissions.
|
||||
* @alpha
|
||||
*/
|
||||
export const catalogPermissions = [
|
||||
catalogEntityReadPermission,
|
||||
catalogEntityCreatePermission,
|
||||
catalogEntityDeletePermission,
|
||||
catalogEntityRefreshPermission,
|
||||
catalogLocationReadPermission,
|
||||
catalogLocationCreatePermission,
|
||||
catalogLocationDeletePermission,
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user