diff --git a/plugins/catalog-react/src/utils/filters.ts b/plugins/catalog-react/src/utils/filters.ts index 109e864c52..5ab6e43593 100644 --- a/plugins/catalog-react/src/utils/filters.ts +++ b/plugins/catalog-react/src/utils/filters.ts @@ -16,6 +16,7 @@ import { Entity } from '@backstage/catalog-model'; import { EntityFilter } from '../types'; +import { EntityKindFilter, EntityTypeFilter } from '../filters'; export function reduceCatalogFilters( filters: EntityFilter[], @@ -28,6 +29,24 @@ export function reduceCatalogFilters( }, {} as Record); } +export function reduceBackendCatalogFilters(filters: EntityFilter[]) { + const backendCatalogFilters: Record< + string, + string | symbol | (string | symbol)[] + > = {}; + + filters.forEach(filter => { + if ( + filter instanceof EntityKindFilter || + filter instanceof EntityTypeFilter + ) { + Object.assign(backendCatalogFilters, filter.getCatalogFilters()); + } + }); + + return backendCatalogFilters; +} + export function reduceEntityFilters( filters: EntityFilter[], ): (entity: Entity) => boolean {