diff --git a/.changeset/techdocs-olive-worms-yell.md b/.changeset/techdocs-olive-worms-yell.md new file mode 100644 index 0000000000..66b205fc19 --- /dev/null +++ b/.changeset/techdocs-olive-worms-yell.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-backend': minor +--- + +Add optional `catalogClient` argument to `createRoute` parameters diff --git a/plugins/techdocs-backend/api-report.md b/plugins/techdocs-backend/api-report.md index 57e5e5170f..1f6aa1d66a 100644 --- a/plugins/techdocs-backend/api-report.md +++ b/plugins/techdocs-backend/api-report.md @@ -6,6 +6,7 @@ /// import { CatalogApi } from '@backstage/catalog-client'; +import { CatalogClient } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; import { Entity } from '@backstage/catalog-model'; @@ -79,6 +80,7 @@ export type OutOfTheBoxDeploymentOptions = { cache: PluginCacheManager; docsBuildStrategy?: DocsBuildStrategy; buildLogTransport?: winston.transport; + catalogClient?: CatalogClient; }; // @public @@ -90,6 +92,7 @@ export type RecommendedDeploymentOptions = { cache: PluginCacheManager; docsBuildStrategy?: DocsBuildStrategy; buildLogTransport?: winston.transport; + catalogClient?: CatalogClient; }; // @public diff --git a/plugins/techdocs-backend/src/service/router.ts b/plugins/techdocs-backend/src/service/router.ts index ca887efce2..855d8b02f4 100644 --- a/plugins/techdocs-backend/src/service/router.ts +++ b/plugins/techdocs-backend/src/service/router.ts @@ -58,6 +58,7 @@ export type OutOfTheBoxDeploymentOptions = { cache: PluginCacheManager; docsBuildStrategy?: DocsBuildStrategy; buildLogTransport?: winston.transport; + catalogClient?: CatalogClient; }; /** @@ -74,6 +75,7 @@ export type RecommendedDeploymentOptions = { cache: PluginCacheManager; docsBuildStrategy?: DocsBuildStrategy; buildLogTransport?: winston.transport; + catalogClient?: CatalogClient; }; /** @@ -107,7 +109,8 @@ export async function createRouter( ): Promise { const router = Router(); const { publisher, config, logger, discovery } = options; - const catalogClient = new CatalogClient({ discoveryApi: discovery }); + const catalogClient = + options.catalogClient ?? new CatalogClient({ discoveryApi: discovery }); const docsBuildStrategy = options.docsBuildStrategy ?? DefaultDocsBuildStrategy.fromConfig(config); const buildLogTransport =