diff --git a/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts b/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts index 4690ef9f09..2ee5afac04 100644 --- a/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts +++ b/plugins/tech-insights-backend/src/service/fact/FactRetrieverRegistry.ts @@ -42,14 +42,10 @@ export interface FactRetrieverRegistry { export class DefaultFactRetrieverRegistry implements FactRetrieverRegistry { private readonly retrievers = new Map(); - static create( - retrievers: FactRetrieverRegistration[], - ): FactRetrieverRegistry { - const registry = new DefaultFactRetrieverRegistry(); - retrievers.forEach(it => { - registry.register(it); + constructor(retrievers: FactRetrieverRegistration[]) { + retrievers.forEach(r => { + this.retrievers.set(r.factRetriever.id, r); }); - return registry; } async register(registration: FactRetrieverRegistration) { @@ -59,7 +55,6 @@ export class DefaultFactRetrieverRegistry implements FactRetrieverRegistry { ); } this.retrievers.set(registration.factRetriever.id, registration); - return Promise.resolve(); } async get(retrieverReference: string): Promise { @@ -69,21 +64,19 @@ export class DefaultFactRetrieverRegistry implements FactRetrieverRegistry { `Tech insight fact retriever with identifier '${retrieverReference}' is not registered.`, ); } - return Promise.resolve(registration); + return registration; } async listRetrievers(): Promise { - return Promise.resolve( - [...this.retrievers.values()].map(it => it.factRetriever), - ); + return [...this.retrievers.values()].map(it => it.factRetriever); } async listRegistrations(): Promise { - return Promise.resolve([...this.retrievers.values()]); + return [...this.retrievers.values()]; } async getSchemas(): Promise { const retrievers = await this.listRetrievers(); - return Promise.resolve(retrievers.map(it => it.schema)); + return retrievers.map(it => it.schema); } }