diff --git a/.changeset/sixty-llamas-change.md b/.changeset/sixty-llamas-change.md new file mode 100644 index 0000000000..a0d183d45c --- /dev/null +++ b/.changeset/sixty-llamas-change.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-catalog-backend': patch +'@backstage/plugin-jenkins-backend': patch +'@backstage/plugin-search-backend': patch +--- + +Fixed issue in `PermissionEvaluator` instance check that would cause unexpected "invalid union" errors. diff --git a/plugins/catalog-backend/src/service/CatalogBuilder.ts b/plugins/catalog-backend/src/service/CatalogBuilder.ts index f5f00cd0fc..57508615ac 100644 --- a/plugins/catalog-backend/src/service/CatalogBuilder.ts +++ b/plugins/catalog-backend/src/service/CatalogBuilder.ts @@ -382,7 +382,7 @@ export class CatalogBuilder { const unauthorizedEntitiesCatalog = new DefaultEntitiesCatalog(dbClient); let permissionEvaluator: PermissionEvaluator; - if ('query' in permissions) { + if ('authorizeConditional' in permissions) { permissionEvaluator = permissions as PermissionEvaluator; } else { logger.warn( diff --git a/plugins/jenkins-backend/src/service/router.ts b/plugins/jenkins-backend/src/service/router.ts index f6bd21c633..fa357f8e9f 100644 --- a/plugins/jenkins-backend/src/service/router.ts +++ b/plugins/jenkins-backend/src/service/router.ts @@ -40,7 +40,7 @@ export async function createRouter( const { jenkinsInfoProvider, permissions, logger } = options; let permissionEvaluator: PermissionEvaluator | undefined; - if (permissions && 'query' in permissions) { + if (permissions && 'authorizeConditional' in permissions) { permissionEvaluator = permissions as PermissionEvaluator; } else { logger.warn( diff --git a/plugins/search-backend/src/service/router.ts b/plugins/search-backend/src/service/router.ts index 11f0eb22e6..e42a31981c 100644 --- a/plugins/search-backend/src/service/router.ts +++ b/plugins/search-backend/src/service/router.ts @@ -76,7 +76,7 @@ export async function createRouter( }); let permissionEvaluator: PermissionEvaluator; - if ('query' in permissions) { + if ('authorizeConditional' in permissions) { permissionEvaluator = permissions as PermissionEvaluator; } else { logger.warn(