UNPKG

@viewdo/dxp-story-cli

Version:

DXP Story Management CLI

98 lines 5.33 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResetUnpackCommand = void 0; const CommandBase_1 = require("./support/CommandBase"); const typedi_1 = require("typedi"); const app_1 = require("../app"); const path_1 = __importDefault(require("path")); const listr_1 = __importDefault(require("listr")); let ResetUnpackCommand = class ResetUnpackCommand extends CommandBase_1.CommandBase { run(options) { return __awaiter(this, void 0, void 0, function* () { const app = new app_1.App(options); app.console_service.log(`Migrate folder: ${app.root}`.blue); if (app.configuration_manager.config.apiVersion == "'api.view.do/v4/admin") { app.console_service.log(`Folder ${app.root} already migrated`.green); return 0; } var consent = options.force || (yield app.prompt_service.askIf("This process will pack then unpack all stories. \n " + "Be sure to have recently committed any changes in case something goes wrong. \n " + "Are you ready?", false)); if (!consent) return 0; const fileService = app.sync_manager.file_service; const migrateAsset = (asset) => { var contents = fileService.read(asset.local_path); var packaged = asset.convertFromLocal(contents); var unpacked = asset.convertFromRemote(packaged); fileService.write(asset.local_path, unpacked); }; const repackStory = (storyConfig) => { var storySubTasks = [{ title: 'Default Episode', task: () => { migrateAsset(storyConfig.getAssetDefinition('json_file')); } }]; if (storyConfig.episodes) { storyConfig.episodes.forEach((epConfig, index) => { storySubTasks.push({ title: 'Episode ' + epConfig.key, task: () => { let assetKey = storyConfig._getEpisodeAssetKey(index, 'json_file'); migrateAsset(storyConfig.getAssetDefinition(assetKey)); } }); }); } storySubTasks.push({ title: 'Cleaning up', task: () => __awaiter(this, void 0, void 0, function* () { let oldUnpackedDir = path_1.default.join(storyConfig.local_root, 'unpacked-html'); if (fileService.exists(oldUnpackedDir)) yield fileService.removeDir(oldUnpackedDir); }) }); return new listr_1.default(storySubTasks); }; const allKeys = app.configuration_manager.story_keys; const allStoryConfigs = app.configuration_manager.getStoryConfigurations(allKeys); var storyTasks = allStoryConfigs.map(storyConfig => { return { title: 'Resetting ' + storyConfig.name, task: () => { return repackStory(storyConfig); } }; }); yield new listr_1.default(storyTasks, app.task_service.listOptions).run(); app.configuration_manager.config.apiVersion = "api.view.do/v4/admin"; app.configuration_manager.save(); app.console_service.log(`Folder ${app.root} migrated`.green); return 0; }); } }; exports.ResetUnpackCommand = ResetUnpackCommand; exports.ResetUnpackCommand = ResetUnpackCommand = __decorate([ (0, typedi_1.Service)() ], ResetUnpackCommand); //# sourceMappingURL=reset-unpack.js.map