Replace PluginDatabaseClientFactory with PluginDatabaseManager

This commit is contained in:
Joel Low
2020-10-05 10:03:10 +08:00
parent 8c78b4e9dd
commit b083c97f84
13 changed files with 71 additions and 68 deletions
+4 -6
View File
@@ -29,7 +29,7 @@ import {
getRootLogger,
useHotMemoize,
notFoundHandler,
SingleConnectionManager,
SingleConnectionDatabaseManager,
SingleHostDiscovery,
UrlReaders,
} from '@backstage/backend-common';
@@ -54,14 +54,12 @@ function makeCreateEnv(config: ConfigReader) {
root.info(`Created UrlReader ${reader}`);
const databaseManager = new SingleConnectionManager(
config.getConfig('backend.database'),
);
const databaseManager = SingleConnectionDatabaseManager.fromConfig(config);
return (plugin: string): PluginEnvironment => {
const logger = root.child({ type: 'plugin', plugin });
const databaseFactory = databaseManager.getDatabaseClientFactory(plugin);
return { logger, databaseClientFactory: databaseFactory, config, reader, discovery };
const database = databaseManager.forPlugin(plugin);
return { logger, database, config, reader, discovery };
};
}
+2 -7
View File
@@ -19,14 +19,9 @@ import { PluginEnvironment } from '../types';
export default async function createPlugin({
logger,
databaseClientFactory,
database,
config,
discovery,
}: PluginEnvironment) {
return await createRouter({
logger,
config,
database: databaseClientFactory,
discovery,
});
return await createRouter({ logger, config, database, discovery });
}
+4 -5
View File
@@ -30,14 +30,13 @@ export default async function createPlugin({
logger,
config,
reader,
databaseClientFactory,
database,
}: PluginEnvironment) {
const locationReader = new LocationReaders({ logger, reader, config });
const db = await DatabaseManager.createDatabase(
await databaseClientFactory(),
{ logger },
);
const db = await DatabaseManager.createDatabase(await database.getClient(), {
logger,
});
const entitiesCatalog = new DatabaseEntitiesCatalog(db);
const locationsCatalog = new DatabaseLocationsCatalog(db);
const higherOrderOperation = new HigherOrderOperations(
+3 -3
View File
@@ -17,14 +17,14 @@
import { Logger } from 'winston';
import { Config } from '@backstage/config';
import {
PluginDatabaseClientFactory,
PluginDatabaseManager,
PluginEndpointDiscovery,
UrlReader
UrlReader,
} from '@backstage/backend-common';
export type PluginEnvironment = {
logger: Logger;
databaseClientFactory: PluginDatabaseClientFactory;
database: PluginDatabaseManager;
config: Config;
reader: UrlReader;
discovery: PluginEndpointDiscovery;