UNPKG

deepify

Version:
70 lines (53 loc) 1.72 kB
/** * Created by CCristi on 5/11/16. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.MigrationGenerator = undefined; var _AbstractGenerator = require('./AbstractGenerator'); var _deepPackageManager = require('deep-package-manager'); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _fsExtra = require('fs-extra'); var _fsExtra2 = _interopRequireDefault(_fsExtra); var _joi = require('joi'); var _joi2 = _interopRequireDefault(_joi); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class MigrationGenerator extends _AbstractGenerator.AbstractGenerator { /** * @param {Object[]} args */ constructor(...args) { super(...args); } /** * @param {Function} cb * @private */ _generate(cb) { let microservice = this.generationSchema.microservice; let cmdName = this.generationSchema.cmdName; let cmdVersion = this.generationSchema.cmdVersion; let migrationFolder = microservice.autoload.migration; let migrationPath = _path2.default.join(migrationFolder, `version${Date.now()}.js`); let templateArgs = { name: cmdName, version: cmdVersion }; _fsExtra2.default.ensureDirSync(migrationFolder); this.renderFile('data/migration/migration.js', migrationPath, templateArgs); cb(null, migrationPath); } /** * @returns {Object} */ validationSchema() { return _joi2.default.object().keys({ microservice: _joi2.default.object().type(_deepPackageManager.Microservice_Instance).required(), version: _joi2.default.string().required() }); } } exports.MigrationGenerator = MigrationGenerator;