diff --git a/plugins/tech-insights-backend/src/index.ts b/plugins/tech-insights-backend/src/index.ts index 82fda47367..66180b1006 100644 --- a/plugins/tech-insights-backend/src/index.ts +++ b/plugins/tech-insights-backend/src/index.ts @@ -25,5 +25,6 @@ export type { export type { PersistenceContext } from './service/persistence/persistenceContext'; export { createFactRetrieverRegistration } from './service/fact/createFactRetriever'; +export type { FactRetrieverRegistry } from './service/fact/FactRetrieverRegistry'; export type { FactRetrieverRegistrationOptions } from './service/fact/createFactRetriever'; export * from './service/fact/factRetrievers'; diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts index a8317db1d2..29099201ce 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts @@ -21,7 +21,7 @@ import { } from '@backstage/plugin-tech-insights-node'; import { ConflictError, NotFoundError } from '@backstage/errors'; -export interface FactRetrieverRegistryInterface { +export interface FactRetrieverRegistry { readonly retrievers: Map; register(registration: FactRetrieverRegistration): void; get(retrieverReference: string): FactRetrieverRegistration; @@ -30,7 +30,7 @@ export interface FactRetrieverRegistryInterface { getSchemas(): FactSchema[]; } -export class FactRetrieverRegistry implements FactRetrieverRegistryInterface { +export class DefaultFactRetrieverRegistry implements FactRetrieverRegistry { readonly retrievers = new Map(); constructor(retrievers: FactRetrieverRegistration[]) { diff --git a/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.test.ts b/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.test.ts index d9aee6d1d3..d2660880b8 100644 --- a/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.test.ts +++ b/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.test.ts @@ -22,7 +22,7 @@ import { } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; import { TaskScheduler } from '@backstage/backend-tasks'; -import { FactRetrieverRegistry } from './fact/FactRetrieverRegistry'; +import { DefaultFactRetrieverRegistry } from './fact/FactRetrieverRegistry'; jest.mock('./fact/FactRetrieverRegistry'); @@ -41,7 +41,7 @@ describe('buildTechInsightsContext', () => { jest.clearAllMocks(); }); - it('constructs the default FactRetrieverRegistry if factRetrievers but no factRetrieverRegistry are passed in', () => { + it('constructs the default FactRetrieverRegistry if factRetrievers but no factRetrieverRegistry are passed', () => { buildTechInsightsContext({ database: pluginDatabase, logger: getVoidLogger(), @@ -52,11 +52,11 @@ describe('buildTechInsightsContext', () => { tokenManager: ServerTokenManager.noop(), }); - expect(FactRetrieverRegistry).toHaveBeenCalledTimes(1); + expect(DefaultFactRetrieverRegistry).toHaveBeenCalledTimes(1); }); it('uses factRetrieverRegistry implementation instead of the default FactRetrieverRegistry if it is passed in', () => { - const factRetrieverRegistryMock = {} as FactRetrieverRegistry; + const factRetrieverRegistryMock = {} as DefaultFactRetrieverRegistry; buildTechInsightsContext({ database: pluginDatabase, @@ -69,6 +69,6 @@ describe('buildTechInsightsContext', () => { tokenManager: ServerTokenManager.noop(), }); - expect(FactRetrieverRegistry).not.toHaveBeenCalled(); + expect(DefaultFactRetrieverRegistry).not.toHaveBeenCalled(); }); }); diff --git a/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.ts b/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.ts index 1314ee5dbd..b194fb6b69 100644 --- a/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.ts +++ b/plugins/tech-insights-backend/src/service/techInsightsContextBuilder.ts @@ -17,8 +17,8 @@ import { FactRetrieverEngine } from './fact/FactRetrieverEngine'; import { Logger } from 'winston'; import { + DefaultFactRetrieverRegistry, FactRetrieverRegistry, - FactRetrieverRegistryInterface, } from './fact/FactRetrieverRegistry'; import { Config } from '@backstage/config'; import { @@ -62,7 +62,7 @@ export interface TechInsightsOptions< */ factCheckerFactory?: FactCheckerFactory; - factRetrieverRegistry?: FactRetrieverRegistryInterface; + factRetrieverRegistry?: FactRetrieverRegistry; logger: Logger; config: Config; @@ -114,14 +114,14 @@ export const buildTechInsightsContext = async < tokenManager, } = options; - const buildFactRetrieverRegistry = (): FactRetrieverRegistryInterface => { + const buildFactRetrieverRegistry = (): FactRetrieverRegistry => { if (!options.factRetrieverRegistry) { if (!factRetrievers) { throw new Error( 'Failed to build FactRetrieverRegistry because no factRetrievers found', ); } - return new FactRetrieverRegistry(factRetrievers); + return new DefaultFactRetrieverRegistry(factRetrievers); } return options.factRetrieverRegistry; };