UNPKG

sequelize-ts-boilerplate

Version:

A REST API scaffolding tool designed to scale and easily generate CRUD endpoints based on database schema design

32 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fse = require("fs-extra"); const constants_1 = require("../../utils/constants"); const general_utils_1 = require("../../utils/general-utils"); const serviceMethodWriter = require("./write-service-methods"); function generate(tables, config) { let servicePath = config.ORM_GENERATE.path.services; let daosPath = config.ORM_GENERATE.path.daos; let pathSplit = daosPath.split("/"); let modelFolderName = pathSplit[pathSplit.length - 1]; tables.forEach((x) => { const tableName = general_utils_1.default.capitalizeFirstLetter(x.tableName); let sFile = ""; if (servicePath && (fse.pathExistsSync(`${servicePath}/${tableName}.ts`) || fse.pathExistsSync(`${servicePath}/${tableName}.service.ts`))) { console.log(tableName + "service.ts encountered. Skipping... no overwrite occurred"); } else { console.log("writing: ", `${servicePath}/${tableName}`); let sFile = `import {${tableName}} from "../${modelFolderName}/${tableName}"; \n\n\n` + `class ${tableName}Service { \n\n` + `\t${constants_1.CONSTANT.GENERATED_SERVICE_METHODS} \n` + `${serviceMethodWriter.get(x, config)}` + `\n} \n\n` + `\n\n export default new ${tableName}Service();`; fse.outputFileSync(`${servicePath}/${tableName}.service.ts`, sFile, "utf8"); sFile = ""; } }); } exports.generate = generate; //# sourceMappingURL=write-service.js.map