From bef617807bb39973f9d458dce9227e172232e80c Mon Sep 17 00:00:00 2001 From: MT Lewis Date: Fri, 7 Jan 2022 11:50:51 +0000 Subject: [PATCH] catalog-backend: custom createPermissionRule implementation Signed-off-by: MT Lewis --- plugins/catalog-backend/api-report.md | 32 +++++-------------- .../src/permissions/rules/util.ts | 11 +++---- 2 files changed, 12 insertions(+), 31 deletions(-) diff --git a/plugins/catalog-backend/api-report.md b/plugins/catalog-backend/api-report.md index aafff2a22e..d310ab001f 100644 --- a/plugins/catalog-backend/api-report.md +++ b/plugins/catalog-backend/api-report.md @@ -531,8 +531,8 @@ export class CommonDatabase implements Database { // @public export const createCatalogPermissionRule: ( - rule: PermissionRule, -) => PermissionRule; + rule: CatalogPermissionRule, +) => CatalogPermissionRule; // Warning: (ae-missing-release-tag) "CreateDatabaseOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -1402,28 +1402,12 @@ export function parseEntityYaml( // @public export const permissionRules: { - hasAnnotation: PermissionRule< - Entity, - EntitiesSearchFilter, - [annotation: string] - >; - hasLabel: PermissionRule; - hasMetadata: PermissionRule< - Entity, - EntitiesSearchFilter, - [key: string, value?: string | undefined] - >; - hasSpec: PermissionRule< - Entity, - EntitiesSearchFilter, - [key: string, value?: string | undefined] - >; - isEntityKind: PermissionRule; - isEntityOwner: PermissionRule< - Entity, - EntitiesSearchFilter, - [claims: string[]] - >; + hasAnnotation: CatalogPermissionRule<[annotation: string]>; + hasLabel: CatalogPermissionRule<[label: string]>; + hasMetadata: CatalogPermissionRule<[key: string, value?: string | undefined]>; + hasSpec: CatalogPermissionRule<[key: string, value?: string | undefined]>; + isEntityKind: CatalogPermissionRule<[kinds: string[]]>; + isEntityOwner: CatalogPermissionRule<[claims: string[]]>; }; // Warning: (ae-missing-release-tag) "PlaceholderProcessor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/plugins/catalog-backend/src/permissions/rules/util.ts b/plugins/catalog-backend/src/permissions/rules/util.ts index 7ef0ca3546..7d17d64e49 100644 --- a/plugins/catalog-backend/src/permissions/rules/util.ts +++ b/plugins/catalog-backend/src/permissions/rules/util.ts @@ -14,9 +14,7 @@ * limitations under the License. */ -import { Entity } from '@backstage/catalog-model'; -import { makeCreatePermissionRule } from '@backstage/plugin-permission-node'; -import { EntitiesSearchFilter } from '../../catalog/types'; +import { CatalogPermissionRule } from '../types'; /** * Helper function for creating correctly-typed @@ -25,7 +23,6 @@ import { EntitiesSearchFilter } from '../../catalog/types'; * * @public */ -export const createCatalogPermissionRule = makeCreatePermissionRule< - Entity, - EntitiesSearchFilter ->(); +export const createCatalogPermissionRule = ( + rule: CatalogPermissionRule, +) => rule;