"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var chalk = require("chalk");
var child_process_1 = require("child_process");
var fileUtil_1 = require("../../commons/utils/fileUtil");
var directoryStructure_1 = require("../../commons/constants/directoryStructure");
var models_1 = require("../../generators/api/models");
/**
* Class which implements the logic for odm initializer actions.
*
* @export
* @class ORMFileOperations
*/
var ORMFileOperations = (function () {
function ORMFileOperations() {
}
/**
* Initializes sequelize
* @param {string} filePath filepath
* @returns {Promise<boolean>} initialized sequelize
* @memberof ODMFileOperations
*/
ORMFileOperations.prototype.initSequelize = function (filePath) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) {
console.log("running: " + chalk.green('sequelize init'));
child_process_1.exec("cd " + filePath + " && ./node_modules/.bin/sequelize init && rm -rf ./config ./models", function (err) {
/* istanbul ignore next */
Iif (err) {
return reject(err);
}
return fileUtil_1.default.writeFile(filePath + "/" + directoryStructure_1.default.API_STRUCTURE.MODELS + "/index.js", models_1.default.sequelize.getModelsRegistry())
.then(function () { return resolve(true); });
});
})];
});
});
};
return ORMFileOperations;
}());
exports.ORMFileOperations = ORMFileOperations;
exports.default = new ORMFileOperations();
|