"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var fileUtil_1 = require("../../commons/utils/fileUtil");
var utils_1 = require("../../commons/utils/utils");
var directoryStructure_1 = require("../../commons/constants/directoryStructure");
var controller_1 = require("../../generators/api/controllers/controller");
/**
* Class which generates all controller files
*
* @export
* @class ControllersFileOperations
*/
var ControllersFileOperations = (function () {
function ControllersFileOperations() {
}
/**
* Initialize all controller files
* @param {String} filePath - file path where api will be generated
* @param {Schema} schema -
* @return {Promise<boolean[]>}
*/
ControllersFileOperations.prototype.initializeControllers = function (filePath, schema) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var promises;
return tslib_1.__generator(this, function (_a) {
promises = [Promise.resolve(true)];
promises.push(fileUtil_1.default.writeFile(fileUtil_1.default.joinPaths(filePath, directoryStructure_1.default.API_STRUCTURE.CONTROLLERS, 'defaultController.js'), controller_1.default.getDefaultController()));
schema.forEach(function (table) {
var model = utils_1.default.singular(table.name);
promises.push(fileUtil_1.default.writeFile(fileUtil_1.default.joinPaths(filePath, directoryStructure_1.default.API_STRUCTURE.CONTROLLERS, model + "Controller.js"), controller_1.default.getController(model)));
});
return [2 /*return*/, Promise.all(promises)];
});
});
};
return ControllersFileOperations;
}());
exports.ControllersFileOperations = ControllersFileOperations;
exports.default = new ControllersFileOperations();
|