UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

110 lines (109 loc) 5.02 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); const product_repository_1 = require("../repository/product.repository"); const product_1 = require("../models/product"); const decorators_1 = require("../decorators"); const lifecycle_1 = require("../lifecycle"); const common_1 = require("../common"); const validators_1 = require("../validators"); const test_filter_1 = require("../filters/test.filter"); const enums_1 = require("../common/enums"); const Observable_1 = require("rxjs/Observable"); let ProductController = class ProductController extends lifecycle_1.BaseController { constructor(productRepository) { super(); this.productRepository = productRepository; } get(id, b, s, a, o) { const data = this.productRepository.getAllProducts(); const httpResponseMessage = new lifecycle_1.HttpResponseMessage(); httpResponseMessage.body = { data: data, id: id, b: b, s: s, a: a, o: o }; httpResponseMessage.statusCode = enums_1.StatusCode.Ok; httpResponseMessage.headers.set("SomeHeader", "value"); httpResponseMessage.headers.set("header2", "value2"); this.response.sendHttpResponse(httpResponseMessage); } getProduct(id, sd, abc) { return { id: id, name: "samsung", sd: sd, abc: abc }; } getProductById(id) { return { id: id, name: "samsung" }; } getProductDetails(queryString, optional) { return { data: queryString, optional: optional }; } post(product, id) { return { data: product, id: id }; } testFilter() { return { message: "filter test" }; } getOb() { return this.productRepository.obsProduct(); } }; __decorate([ decorators_1.Route(common_1.HttpMethod.GET), __param(4, validators_1.Optional("object")), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Boolean, String, Number, Number]), __metadata("design:returntype", void 0) ], ProductController.prototype, "get", null); __decorate([ decorators_1.Route(common_1.HttpMethod.GET, "/{id}/getProduct/{sd}"), __metadata("design:type", Function), __metadata("design:paramtypes", [Number, Number, String]), __metadata("design:returntype", Object) ], ProductController.prototype, "getProduct", null); __decorate([ decorators_1.Route(common_1.HttpMethod.GET, "{id}"), __metadata("design:type", Function), __metadata("design:paramtypes", [Number]), __metadata("design:returntype", Object) ], ProductController.prototype, "getProductById", null); __decorate([ decorators_1.Authorize(["Manager"]), decorators_1.Route(common_1.HttpMethod.GET, "getProductDetails"), __param(1, validators_1.Optional()), __metadata("design:type", Function), __metadata("design:paramtypes", [Boolean, String]), __metadata("design:returntype", Object) ], ProductController.prototype, "getProductDetails", null); __decorate([ decorators_1.Route(common_1.HttpMethod.POST), decorators_1.FilterDecorator(new test_filter_1.TestFilter()), __metadata("design:type", Function), __metadata("design:paramtypes", [product_1.Product, String]), __metadata("design:returntype", Object) ], ProductController.prototype, "post", null); __decorate([ decorators_1.Route(common_1.HttpMethod.GET, "test-filter"), decorators_1.FilterDecorator(new test_filter_1.TestFilter()), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], ProductController.prototype, "testFilter", null); __decorate([ decorators_1.Route(common_1.HttpMethod.GET), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Observable_1.Observable) ], ProductController.prototype, "getOb", null); ProductController = __decorate([ decorators_1.Controller(), decorators_1.Authorize(["Manager"]), __metadata("design:paramtypes", [product_repository_1.ProductRepository]) ], ProductController); exports.ProductController = ProductController;