@nestjs-cqrs-eventsourcing/core
Version:
Event sourcing for nestjs CQRS
24 lines (23 loc) • 864 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReconstructViewDb = void 0;
const core_1 = require("@nestjs-cqrs-eventsourcing/core");
const view_updater_1 = require("../view/view-updater");
class ReconstructViewDb {
static async run(app) {
const sleep = async (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const eventStore = app.get(core_1.EventstoreProvider);
const viewUpdater = app.get(view_updater_1.ViewUpdater);
while (!eventStore.isInitiated()) {
await sleep(100);
}
let event;
let index = 0;
while (event = await eventStore.getEvent(index)) {
await viewUpdater.run(event);
index += 1;
}
console.log('View db has been restored!');
}
}
exports.ReconstructViewDb = ReconstructViewDb;