UNPKG

@grouparoo/core

Version:
45 lines (44 loc) 1.62 kB
"use strict"; 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;