Merge pull request #869 from spotify/freben/refresh-split

Separate out and generalise concerns of reading and parsing
This commit is contained in:
Fredrik Adelöw
2020-05-15 13:01:41 +02:00
committed by GitHub
37 changed files with 897 additions and 521 deletions
+20 -4
View File
@@ -15,12 +15,28 @@
*/
import {
DatabaseCatalog,
DatabaseItemsCatalog,
DatabaseLocationsCatalog,
DatabaseManager,
createRouter,
runPeriodically,
LocationReaders,
DescriptorParsers,
} from '@backstage/plugin-catalog-backend';
import { PluginEnvironment } from '../types';
export default async function({ logger, database }: PluginEnvironment) {
const catalog = await DatabaseCatalog.create(database, logger);
return await createRouter({ catalog, logger });
export default async function ({ logger, database }: PluginEnvironment) {
const reader = LocationReaders.create();
const parser = DescriptorParsers.create();
const db = await DatabaseManager.createDatabase(database);
runPeriodically(
() => DatabaseManager.refreshLocations(db, reader, parser, logger),
10000,
);
const itemsCatalog = new DatabaseItemsCatalog(db);
const locationsCatalog = new DatabaseLocationsCatalog(db);
return await createRouter({ itemsCatalog, locationsCatalog, logger });
}