intern-Assignment/Sequelize-library/node_modules/sequelize-cli/lib/helpers/init-helper.js
2025-01-31 15:20:39 +05:30

63 lines
2.4 KiB
JavaScript

"use strict";
var _index = _interopRequireDefault(require("./index"));
var _path = _interopRequireDefault(require("path"));
var _fs = _interopRequireDefault(require("fs"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createFolder(folderName, folder, force) {
if (force && _fs.default.existsSync(folder) === true) {
_index.default.view.log('Deleting the ' + folderName + ' folder. (--force)');
try {
_fs.default.readdirSync(folder).forEach(filename => {
_fs.default.unlinkSync(_path.default.resolve(folder, filename));
});
} catch (e) {
_index.default.view.error(e);
}
try {
_fs.default.rmdirSync(folder);
_index.default.view.log('Successfully deleted the ' + folderName + ' folder.');
} catch (e) {
_index.default.view.error(e);
}
}
try {
if (_fs.default.existsSync(folder) === false) {
_index.default.asset.mkdirp(folder);
_index.default.view.log('Successfully created ' + folderName + ' folder at "' + folder + '".');
} else {
_index.default.view.log(folderName + ' folder at "' + folder + '" already exists.');
}
} catch (e) {
_index.default.view.error(e);
}
}
const init = {
createMigrationsFolder: force => {
createFolder('migrations', _index.default.path.getPath('migration'), force);
},
createSeedersFolder: force => {
createFolder('seeders', _index.default.path.getPath('seeder'), force);
},
createModelsFolder: force => {
createFolder('models', _index.default.path.getModelsPath(), force);
},
createModelsIndexFile: force => {
const modelsPath = _index.default.path.getModelsPath();
const indexPath = _path.default.resolve(modelsPath, _index.default.path.addFileExtension('index'));
if (!_index.default.path.existsSync(modelsPath)) {
_index.default.view.log('Models folder not available.');
} else if (_index.default.path.existsSync(indexPath) && !force) {
_index.default.view.notifyAboutExistingFile(indexPath);
} else {
const relativeConfigPath = _path.default.relative(_index.default.path.getModelsPath(), _index.default.config.getConfigFile());
_index.default.asset.write(indexPath, _index.default.template.render('models/index.js', {
configFile: "__dirname + '/" + relativeConfigPath.replace(/\\/g, '/') + "'"
}, {
beautify: false
}));
}
}
};
module.exports = init;
module.exports.default = init;