UNPKG

@agatee/cli

Version:

CLI for Agatee App

45 lines (44 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.routerStarterCode = void 0; var text_1 = require("../../../utils/text"); var prettier_1 = require("prettier"); var routerStarterCode = function (params, pathName) { var _a; var name = (0, text_1.camelCase)(pathName); var capitalizedComponentName = (0, text_1.capitalize)(name); var addMongoose = params.additionalParams['mongoose-model'] || params.additionalParams['mm']; var endpoints = { create: false, read: false, update: false, delete: false }; if (params.additionalParams['endpoints'] || params.additionalParams['e']) { var endpointOption = params.additionalParams['endpoints'] || params.additionalParams['e']; var endpointValue = ((_a = endpointOption.values[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || ''; endpoints.create = endpointValue.includes('c'); endpoints.read = endpointValue.includes('r'); endpoints.update = endpointValue.includes('u'); endpoints.delete = endpointValue.includes('d'); } var contentHeader = ("import { Request, Response } from \"express\";\nimport { GatRouterModule" + ((addMongoose && endpoints.read) ? ', GET' : '') + ((addMongoose && endpoints.create) ? ', POST' : '') + ((addMongoose && endpoints.update) ? ', PUT' : '') + ((addMongoose && endpoints.delete) ? ', DELETE' : '') + " } from \"@agatee/core\";\n"); contentHeader += "\nimport { " + capitalizedComponentName + "Controller } from './" + pathName + ".controller';\n\n"; var content = "@GatRouterModule({\n path: '/api/" + pathName + "'\n })\n"; content += "export class " + capitalizedComponentName + "Router {\nconstructor(private controller:" + capitalizedComponentName + "Controller) {}\n"; if (addMongoose && endpoints.create) { content += "\n@POST('/')\n create(req, res) {\n this.controller.create(req, res)\n }\n"; } if (addMongoose && endpoints.read) { content += ("\n@GET('/')\n list(req, res) {\n this.controller.list(req, res)\n }"); content += ("\n@GET('/:id')\n read(req, res) {\n this.controller.read(req, res)\n }\n"); } if (addMongoose && endpoints.update) { content += ("\n@PUT('/:id')\n update(req, res) {\n this.controller.update(req, res)\n }"); } if (addMongoose && endpoints.delete) { content += ("\n@DELETE('/:id')\n delete(req, res) {\n this.controller.delete(req, res)\n }\n"); } content += "\n}\n"; return contentHeader + (0, prettier_1.format)(content, { parser: 'typescript' }); }; exports.routerStarterCode = routerStarterCode;