@backstage/backend-defaults
Version:
Backend defaults used by Backstage backend apps
37 lines (33 loc) • 1.42 kB
JavaScript
;
var backendPluginApi = require('@backstage/backend-plugin-api');
var config = require('@backstage/config');
var DatabaseManager = require('./DatabaseManager.cjs.js');
const databaseServiceFactory = backendPluginApi.createServiceFactory({
service: backendPluginApi.coreServices.database,
deps: {
config: backendPluginApi.coreServices.rootConfig,
lifecycle: backendPluginApi.coreServices.lifecycle,
logger: backendPluginApi.coreServices.logger,
pluginMetadata: backendPluginApi.coreServices.pluginMetadata,
rootLifecycle: backendPluginApi.coreServices.rootLifecycle,
rootLogger: backendPluginApi.coreServices.rootLogger
},
async createRootContext({ config: config$1, rootLifecycle, rootLogger }) {
return config$1.getOptional("backend.database") ? DatabaseManager.DatabaseManager.fromConfig(config$1, { rootLifecycle, rootLogger }) : DatabaseManager.DatabaseManager.fromConfig(
new config.ConfigReader({
backend: {
database: { client: "better-sqlite3", connection: ":memory:" }
}
}),
{ rootLifecycle, rootLogger }
);
},
async factory({ pluginMetadata, lifecycle, logger }, databaseManager) {
return databaseManager.forPlugin(pluginMetadata.getId(), {
lifecycle,
logger
});
}
});
exports.databaseServiceFactory = databaseServiceFactory;
//# sourceMappingURL=databaseServiceFactory.cjs.js.map