@agatee/cli
Version:
CLI for Agatee App
45 lines (44 loc) • 2.8 kB
JavaScript
;
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;