Enable @backstage/plugin-search-backend-module-pg module only on supported databases

Signed-off-by: Tomasz Szuba <tszuba@box.com>
This commit is contained in:
Tomasz Szuba
2024-03-13 18:33:02 +01:00
parent bf2c435983
commit cf163a53c3
2 changed files with 22 additions and 6 deletions
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-search-backend-module-pg': patch
---
Enable module only on supported databases
Also pass logger to the service
+15 -6
View File
@@ -19,6 +19,7 @@ import {
} from '@backstage/backend-plugin-api';
import { searchEngineRegistryExtensionPoint } from '@backstage/plugin-search-backend-node/alpha';
import { PgSearchEngine } from './PgSearchEngine';
import { loggerToWinstonLogger } from '@backstage/backend-common';
/**
* @alpha
@@ -33,13 +34,21 @@ export default createBackendModule({
searchEngineRegistry: searchEngineRegistryExtensionPoint,
database: coreServices.database,
config: coreServices.rootConfig,
logger: coreServices.logger,
},
async init({ searchEngineRegistry, database, config }) {
searchEngineRegistry.setSearchEngine(
await PgSearchEngine.fromConfig(config, {
database: database,
}),
);
async init({ searchEngineRegistry, database, config, logger }) {
if (await PgSearchEngine.supported(database)) {
searchEngineRegistry.setSearchEngine(
await PgSearchEngine.fromConfig(config, {
database,
logger: loggerToWinstonLogger(logger),
}),
);
} else {
logger.warn(
'Postgres search engine is not supported, skipping registration of search-backend-module-pg',
);
}
},
});
},