UNPKG

sequelize-ts-boilerplate

Version:

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

26 lines (24 loc) 1.61 kB
import { Table } from "../../classes/Table"; import { IConfig } from "../../../interfaces/config"; import utils from "../../../utils/general-utils"; import { CONSTANT } from "../../../utils/constants"; export function get(table: Table, config: IConfig) { const pkLower = config.ORM_GENERATE.pkIdentifier; const pkUpper = utils.capitalizeFirstLetter(pkLower); const upperCaseTableName = utils.capitalizeFirstLetter(table.tableName); const pluralizedTableName = utils.pluralize(upperCaseTableName); const pluralizedUpperCaseTableName = utils.capitalizeFirstLetter(pluralizedTableName); return ( `return Router() ${CONSTANT.GENERATED_ROUTES} .get("/${pluralizedTableName}", ${upperCaseTableName}Controller.getAll${pluralizedUpperCaseTableName}) .get("/${pluralizedTableName}/:${pkLower}", ${upperCaseTableName}Controller.getAll${pluralizedUpperCaseTableName}By${pkUpper}) .get("/${table.tableName}/:${pkLower}", ${upperCaseTableName}Controller.get${upperCaseTableName}By${pkUpper}) .post("/${table.tableName}", ${upperCaseTableName}Controller.save${upperCaseTableName}) .post("/${pluralizedTableName}", ${upperCaseTableName}Controller.batchSave${pluralizedUpperCaseTableName}) .put("/${table.tableName}", ${upperCaseTableName}Controller.update${upperCaseTableName}) .delete("/${table.tableName}", ${upperCaseTableName}Controller.delete${upperCaseTableName}By${pkUpper}) .delete("/${table.tableName}/:${pkLower}", ${upperCaseTableName}Controller.delete${upperCaseTableName}By${pkUpper}) ` ) }