Ensure that all services are dependency injected into the module instead of taken from options

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2023-08-02 10:14:06 +02:00
parent 5623a818b9
commit 29f77f923c
10 changed files with 42 additions and 22 deletions
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-search-backend-module-techdocs': patch
'@backstage/plugin-search-backend-module-catalog': patch
'@backstage/plugin-search-backend-module-explore': patch
---
Ensure that all services are dependency injected into the module instead of taken from options
@@ -15,7 +15,7 @@ export const searchModuleCatalogCollator: (
// @alpha
export type SearchModuleCatalogCollatorOptions = Omit<
DefaultCatalogCollatorFactoryOptions,
'discovery' | 'tokenManager'
'discovery' | 'tokenManager' | 'catalogClient'
> & {
schedule?: TaskScheduleDefinition;
};
@@ -49,6 +49,7 @@
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/plugin-catalog-common": "workspace:^",
"@backstage/plugin-catalog-node": "workspace:^",
"@backstage/plugin-permission-common": "workspace:^",
"@backstage/plugin-search-backend-node": "workspace:^",
"@backstage/plugin-search-common": "workspace:^"
@@ -30,6 +30,7 @@ import {
DefaultCatalogCollatorFactory,
DefaultCatalogCollatorFactoryOptions,
} from '@backstage/plugin-search-backend-module-catalog';
import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha';
/**
* @alpha
@@ -37,14 +38,15 @@ import {
*/
export type SearchModuleCatalogCollatorOptions = Omit<
DefaultCatalogCollatorFactoryOptions,
'discovery' | 'tokenManager'
'discovery' | 'tokenManager' | 'catalogClient'
> & {
schedule?: TaskScheduleDefinition;
};
/**
* @alpha
* Search backend module for the Catalog index.
*
* @alpha
*/
export const searchModuleCatalogCollator = createBackendModule(
(options?: SearchModuleCatalogCollatorOptions) => ({
@@ -58,6 +60,7 @@ export const searchModuleCatalogCollator = createBackendModule(
tokenManager: coreServices.tokenManager,
scheduler: coreServices.scheduler,
indexRegistry: searchIndexRegistryExtensionPoint,
catalog: catalogServiceRef,
},
async init({
config,
@@ -65,6 +68,7 @@ export const searchModuleCatalogCollator = createBackendModule(
tokenManager,
scheduler,
indexRegistry,
catalog,
}) {
const defaultSchedule = {
frequency: { minutes: 10 },
@@ -80,6 +84,7 @@ export const searchModuleCatalogCollator = createBackendModule(
...options,
discovery,
tokenManager,
catalogClient: catalog,
}),
});
},
@@ -5,7 +5,6 @@
```ts
import { BackendFeature } from '@backstage/backend-plugin-api';
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
import { ToolDocumentCollatorFactoryOptions } from '@backstage/plugin-search-backend-module-explore';
// @alpha
export const searchModuleExploreCollator: (
@@ -13,10 +12,7 @@ export const searchModuleExploreCollator: (
) => BackendFeature;
// @alpha
export type SearchModuleExploreCollatorOptions = Omit<
ToolDocumentCollatorFactoryOptions,
'logger' | 'discovery'
> & {
export type SearchModuleExploreCollatorOptions = {
schedule?: TaskScheduleDefinition;
};
@@ -27,25 +27,21 @@ import { TaskScheduleDefinition } from '@backstage/backend-tasks';
import { loggerToWinstonLogger } from '@backstage/backend-common';
import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';
import {
ToolDocumentCollatorFactory,
ToolDocumentCollatorFactoryOptions,
} from '@backstage/plugin-search-backend-module-explore';
import { ToolDocumentCollatorFactory } from '@backstage/plugin-search-backend-module-explore';
/**
* @alpha
* Options for {@link searchModuleExploreCollator}.
*
* @alpha
*/
export type SearchModuleExploreCollatorOptions = Omit<
ToolDocumentCollatorFactoryOptions,
'logger' | 'discovery'
> & {
export type SearchModuleExploreCollatorOptions = {
schedule?: TaskScheduleDefinition;
};
/**
* @alpha
* Search backend module for the Explore index.
*
* @alpha
*/
export const searchModuleExploreCollator = createBackendModule(
(options?: SearchModuleExploreCollatorOptions) => ({
@@ -58,9 +54,17 @@ export const searchModuleExploreCollator = createBackendModule(
logger: coreServices.logger,
discovery: coreServices.discovery,
scheduler: coreServices.scheduler,
tokenManager: coreServices.tokenManager,
indexRegistry: searchIndexRegistryExtensionPoint,
},
async init({ config, logger, discovery, scheduler, indexRegistry }) {
async init({
config,
logger,
discovery,
scheduler,
indexRegistry,
tokenManager,
}) {
const defaultSchedule = {
frequency: { minutes: 10 },
timeout: { minutes: 15 },
@@ -72,9 +76,9 @@ export const searchModuleExploreCollator = createBackendModule(
options?.schedule ?? defaultSchedule,
),
factory: ToolDocumentCollatorFactory.fromConfig(config, {
...options,
discovery,
logger: loggerToWinstonLogger(logger),
tokenManager,
}),
});
},
@@ -15,7 +15,7 @@ export const searchModuleTechDocsCollator: (
// @alpha
export type SearchModuleTechDocsCollatorOptions = Omit<
TechDocsCollatorFactoryOptions,
'logger' | 'discovery' | 'tokenManager'
'logger' | 'discovery' | 'tokenManager' | 'catalogClient'
> & {
schedule?: TaskScheduleDefinition;
};
@@ -49,6 +49,7 @@
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
"@backstage/plugin-catalog-common": "workspace:^",
"@backstage/plugin-catalog-node": "workspace:^",
"@backstage/plugin-permission-common": "workspace:^",
"@backstage/plugin-search-backend-node": "workspace:^",
"@backstage/plugin-search-common": "workspace:^",
@@ -26,6 +26,7 @@ import {
import { TaskScheduleDefinition } from '@backstage/backend-tasks';
import { loggerToWinstonLogger } from '@backstage/backend-common';
import { searchIndexRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';
import { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha';
import {
DefaultTechDocsCollatorFactory,
@@ -38,7 +39,7 @@ import {
*/
export type SearchModuleTechDocsCollatorOptions = Omit<
TechDocsCollatorFactoryOptions,
'logger' | 'discovery' | 'tokenManager'
'logger' | 'discovery' | 'tokenManager' | 'catalogClient'
> & {
schedule?: TaskScheduleDefinition;
};
@@ -59,6 +60,7 @@ export const searchModuleTechDocsCollator = createBackendModule(
discovery: coreServices.discovery,
tokenManager: coreServices.tokenManager,
scheduler: coreServices.scheduler,
catalog: catalogServiceRef,
indexRegistry: searchIndexRegistryExtensionPoint,
},
async init({
@@ -67,6 +69,7 @@ export const searchModuleTechDocsCollator = createBackendModule(
discovery,
tokenManager,
scheduler,
catalog,
indexRegistry,
}) {
const defaultSchedule = {
@@ -84,6 +87,7 @@ export const searchModuleTechDocsCollator = createBackendModule(
discovery,
tokenManager,
logger: loggerToWinstonLogger(logger),
catalogClient: catalog,
}),
});
},
+2
View File
@@ -8519,6 +8519,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
"@backstage/plugin-catalog-common": "workspace:^"
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/plugin-permission-common": "workspace:^"
"@backstage/plugin-search-backend-node": "workspace:^"
"@backstage/plugin-search-common": "workspace:^"
@@ -8599,6 +8600,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
"@backstage/plugin-catalog-common": "workspace:^"
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/plugin-permission-common": "workspace:^"
"@backstage/plugin-search-backend-node": "workspace:^"
"@backstage/plugin-search-common": "workspace:^"