UNPKG

sequelize-ts-boilerplate

Version:

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

31 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fse = require("fs-extra"); const general_utils_1 = require("../../../utils/general-utils"); const routesWriter = require("./write-route-methods"); function generate(tables, config) { let controllerPath = config.ORM_GENERATE.path.controllers; let servicesPath = config.ORM_GENERATE.path.services; let pathSplit = servicesPath.split("/"); tables.forEach((x) => { const upperCaseTableName = general_utils_1.default.capitalizeFirstLetter(x.tableName); const pluralizedTableName = general_utils_1.default.pluralize(upperCaseTableName); let sFile = ""; if (controllerPath && fse.pathExistsSync(`${controllerPath}/${upperCaseTableName}/${upperCaseTableName}.routes.ts`)) { console.log(upperCaseTableName + ".routes.ts encountered. Skipping... no overwrite occurred"); } else { console.log("writing: ", `${controllerPath}/${upperCaseTableName} routes`); sFile = `import { Router } from "express" \n` + `import ${upperCaseTableName}Controller from "./${upperCaseTableName}.controller"\n` + `export function ${upperCaseTableName}Routes() { \n ` + `\t${routesWriter.get(x, config)}` + `\t\t/*** end generated routes ***/\n` + `\n} \n\n`; fse.outputFileSync(`${controllerPath}/${upperCaseTableName}/${upperCaseTableName}.routes.ts`, sFile, "utf8"); sFile = ""; } }); } exports.generate = generate; //# sourceMappingURL=write-route.js.map