@grouparoo/core
Version:
The Grouparoo Core
45 lines (44 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OnboardingSteps = void 0;
const sequelize_1 = require("sequelize");
const SetupStep_1 = require("../models/SetupStep");
const setupSteps_1 = require("../modules/ops/setupSteps");
const clsInitializer_1 = require("../classes/initializers/clsInitializer");
class OnboardingSteps extends clsInitializer_1.CLSInitializer {
constructor() {
super();
this.name = "setupSteps";
}
async initializeWithinTransaction() { }
async startWithinTransaction() {
// insert or update the setup steps we want
const setupSteps = (0, setupSteps_1.getSetupStepDescriptions)();
for (const ssd of setupSteps) {
const onboardingStep = await SetupStep_1.SetupStep.findOne({
where: { key: ssd.key },
});
if (onboardingStep) {
if (onboardingStep.position !== ssd.position) {
await onboardingStep.update({ position: ssd.position });
}
}
else {
await SetupStep_1.SetupStep.create({
position: ssd.position,
key: ssd.key,
});
}
}
// remove any old onboarding steps we no longer want
await SetupStep_1.SetupStep.destroy({
where: {
key: {
[sequelize_1.Op.notIn]: setupSteps.map((ssd) => ssd.key),
},
},
});
}
async stopWithinTransaction() { }
}
exports.OnboardingSteps = OnboardingSteps;