all files / fileOperations/api/ repositoriesFileOperations.js

100% Statements 20/20
100% Branches 0/0
100% Functions 6/6
100% Lines 20/20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42                                           
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var fileUtil_1 = require("../../commons/utils/fileUtil");
var directoryStructure_1 = require("../../commons/constants/directoryStructure");
var repositories_1 = require("../../generators/api/repositories");
/**
 * Class which implements the logic for repository generation.
 *
 * @export
 * @class RepositoriesFileOperations
 */
var RepositoriesFileOperations = (function () {
    function RepositoriesFileOperations() {
    }
    /**
     * Initialize sequelize repositories
     *
     * @param {string} filePath - root api file path
     * @param {Schema} schema - source schema for api generation
     * @return {Promise<boolean[]>}
     * @memberof RepositoriesFileOperations
     */
    RepositoriesFileOperations.prototype.initializeSequelizeRepositories = function (filePath, schema) {
        return tslib_1.__awaiter(this, void 0, void 0, function () {
            var promises, factory;
            return tslib_1.__generator(this, function (_a) {
                promises = [Promise.resolve(true)];
                repositories_1.default.sequelize.getRepositories(schema).forEach(function (repository) {
                    promises.push(fileUtil_1.default.writeFile(filePath + "/" + directoryStructure_1.default.API_STRUCTURE.REPOSITORIES + "/" + repository.name, repository.content));
                });
                factory = repositories_1.default.sequelize.getRepositoryFactory(schema);
                promises.push(fileUtil_1.default.writeFile(filePath + "/" + directoryStructure_1.default.API_STRUCTURE.REPOSITORIES + "/" + factory.name, factory.content));
                return [2 /*return*/, Promise.all(promises)];
            });
        });
    };
    return RepositoriesFileOperations;
}());
exports.RepositoriesFileOperations = RepositoriesFileOperations;
exports.default = new RepositoriesFileOperations();