Merge pull request #869 from spotify/freben/refresh-split
Separate out and generalise concerns of reading and parsing
This commit is contained in:
@@ -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 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user