UNPKG

vulcain-corejs

Version:
71 lines 4.05 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 annotations_1 = require("../di/annotations"); const domain_1 = require("../schemas/domain"); const applicationRequestError_1 = require("../pipeline/errors/applicationRequestError"); const index_1 = require("../index"); const annotations_model_1 = require("../schemas/builder/annotations.model"); const annotations_property_1 = require("../schemas/builder/annotations.property"); const annotations_query_1 = require("../pipeline/handlers/query/annotations.query"); const annotations_queryHandler_1 = require("../pipeline/handlers/query/annotations.queryHandler"); let ServiceExplorerParameter = class ServiceExplorerParameter { }; __decorate([ annotations_property_1.Property({ description: "Format the description service. Only 'swagger' are available", type: "string" }), __metadata("design:type", String) ], ServiceExplorerParameter.prototype, "format", void 0); ServiceExplorerParameter = __decorate([ annotations_model_1.InputModel(), index_1.Metadata("system", true) ], ServiceExplorerParameter); exports.ServiceExplorerParameter = ServiceExplorerParameter; let ServiceExplorer = class ServiceExplorer { constructor(domain, container) { this.domain = domain; this.container = container; } async getServiceDescriptions(model) { let ctx = this.context; if (ctx.publicPath) throw new applicationRequestError_1.ForbiddenRequestError(); let descriptors = this.container.get(annotations_1.DefaultServiceNames.ServiceDescriptors); let result = await descriptors.getDescriptions(false); result.alternateAddress = this.context.hostName; if (model.format === 'swagger') { let descriptors = this.container.get(annotations_1.DefaultServiceNames.SwaggerServiceDescriptor); let swaggerResult = await descriptors.getDescriptions(result); let response = new index_1.HttpResponse(); response.content = swaggerResult; return response; } else { return result; } } }; __decorate([ annotations_query_1.Query({ outputSchema: "ServiceDescription", description: "Get all service handler description. You can get the response in swagger format with format=swagger", name: "_serviceDescription" }), __metadata("design:type", Function), __metadata("design:paramtypes", [ServiceExplorerParameter]), __metadata("design:returntype", Promise) ], ServiceExplorer.prototype, "getServiceDescriptions", null); ServiceExplorer = __decorate([ annotations_queryHandler_1.QueryHandler({ scope: "?", serviceLifeTime: annotations_1.LifeTime.Singleton }, { system: true }), __param(0, annotations_1.Inject(annotations_1.DefaultServiceNames.Domain)), __param(1, annotations_1.Inject(annotations_1.DefaultServiceNames.Container)), __metadata("design:paramtypes", [domain_1.Domain, Object]) ], ServiceExplorer); exports.ServiceExplorer = ServiceExplorer; //# sourceMappingURL=serviceExplorer.js.map