nralcm
Version:
This is a framework based on NodeJs to manage rest api request lifecycle
110 lines (109 loc) • 5.02 kB
JavaScript
;
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;