diff --git a/.changeset/rare-waves-hammer.md b/.changeset/rare-waves-hammer.md new file mode 100644 index 0000000000..9981b20440 --- /dev/null +++ b/.changeset/rare-waves-hammer.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-common': patch +--- + +Add `CatalogEntityPermission` convenience type. diff --git a/plugins/catalog-common/api-report.md b/plugins/catalog-common/api-report.md index 12ad6af751..c15cbae103 100644 --- a/plugins/catalog-common/api-report.md +++ b/plugins/catalog-common/api-report.md @@ -29,6 +29,11 @@ export interface CatalogEntityDocument extends IndexableDocument { type: string; } +// @alpha +export type CatalogEntityPermission = ResourcePermission< + typeof RESOURCE_TYPE_CATALOG_ENTITY +>; + // @alpha export const catalogEntityReadPermission: ResourcePermission<'catalog-entity'>; diff --git a/plugins/catalog-common/src/index.ts b/plugins/catalog-common/src/index.ts index 08184eb871..dfa90c448b 100644 --- a/plugins/catalog-common/src/index.ts +++ b/plugins/catalog-common/src/index.ts @@ -31,5 +31,6 @@ export { catalogLocationCreatePermission, catalogLocationDeletePermission, } from './permissions'; +export type { CatalogEntityPermission } from './permissions'; export * from './search'; diff --git a/plugins/catalog-common/src/permissions.ts b/plugins/catalog-common/src/permissions.ts index 51a15bb85e..aa95e8c00f 100644 --- a/plugins/catalog-common/src/permissions.ts +++ b/plugins/catalog-common/src/permissions.ts @@ -14,7 +14,10 @@ * limitations under the License. */ -import { createPermission } from '@backstage/plugin-permission-common'; +import { + createPermission, + ResourcePermission, +} from '@backstage/plugin-permission-common'; /** * Permission resource type which corresponds to catalog entities. @@ -24,6 +27,15 @@ import { createPermission } from '@backstage/plugin-permission-common'; */ export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity'; +/** + * Convenience type for catalog entity + * {@link @backstage/plugin-permission-common#ResourcePermission}s. + * @alpha + */ +export type CatalogEntityPermission = ResourcePermission< + typeof RESOURCE_TYPE_CATALOG_ENTITY +>; + /** * This permission is used to authorize actions that involve reading one or more * entities from the catalog.