UNPKG

@o-galaxy/ether

Version:

Rest Api Framework

37 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const controller_def_container_1 = require("../../inner/controller-def-container"); function ApiMethodFactory(route, method, validators = []) { return (targetPrototype, propertyName, propertyDescriptor) => { // apply only on methods defined in a Controller let routerDef = targetPrototype['$router_def']; if (routerDef == undefined) { targetPrototype['$router_def'] = new controller_def_container_1.ControllerDefContainer(); routerDef = targetPrototype['$router_def']; } const validatorsAsArray = Array.isArray(validators) ? validators : [validators]; routerDef.addMethod(route, validatorsAsArray, method, propertyName); return propertyDescriptor; }; } function Post(route = '/', middlewares = []) { return ApiMethodFactory(route, 'POST', middlewares); } exports.Post = Post; function Get(route = '/', middlewares = []) { return ApiMethodFactory(route, 'GET', middlewares); } exports.Get = Get; function Delete(route = '/', middlewares = []) { return ApiMethodFactory(route, 'DELETE', middlewares); } exports.Delete = Delete; function Put(route = '/', middlewares = []) { return ApiMethodFactory(route, 'PUT', middlewares); } exports.Put = Put; function All(route = '/', middlewares = []) { return ApiMethodFactory(route, 'ALL', middlewares); } exports.All = All; //# sourceMappingURL=index.js.map