UNPKG

mongodb-dynamic-api

Version:

Auto generated CRUD API for MongoDB using NestJS

96 lines 5.34 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 }); exports.createAggregateServiceProvider = exports.createAggregateGateway = exports.createAggregateController = void 0; const common_1 = require("@nestjs/common"); const jwt_1 = require("@nestjs/jwt"); const mongoose_1 = require("@nestjs/mongoose"); const swagger_1 = require("@nestjs/swagger"); const websockets_1 = require("@nestjs/websockets"); const mongoose_2 = require("mongoose"); const decorators_1 = require("../../decorators"); const dynamic_api_module_1 = require("../../dynamic-api.module"); const helpers_1 = require("../../helpers"); const base_aggregate_service_1 = require("./base-aggregate.service"); const aggregate_controller_mixin_1 = require("./aggregate-controller.mixin"); const aggregate_gateway_mixin_1 = require("./aggregate-gateway.mixin"); function createAggregateServiceProvider(entity, displayedName, version, callback) { let AggregateService = class AggregateService extends base_aggregate_service_1.BaseAggregateService { constructor(model) { super(model); this.model = model; this.entity = entity; this.callback = callback; } }; AggregateService = __decorate([ __param(0, (0, mongoose_1.InjectModel)(entity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))), __metadata("design:paramtypes", [mongoose_2.Model]) ], AggregateService); Object.defineProperty(AggregateService, 'name', { value: (0, helpers_1.provideName)('Aggregate', displayedName, version, 'Service'), writable: false, }); return { provide: (0, helpers_1.provideName)('Aggregate', displayedName, version, 'Service'), useClass: AggregateService, }; } exports.createAggregateServiceProvider = createAggregateServiceProvider; function createAggregateController(entity, displayedName, { useInterceptors = [], ...controllerOptions }, routeConfig, version, validationPipeOptions) { const { path, apiTag } = controllerOptions; let AggregateController = class AggregateController extends (0, aggregate_controller_mixin_1.AggregateControllerMixin)(entity, controllerOptions, routeConfig, version) { constructor(service) { super(service); this.service = service; } }; AggregateController = __decorate([ (0, common_1.Controller)({ path, version }), (0, swagger_1.ApiTags)(apiTag || entity.name), (0, decorators_1.ValidatorPipe)(validationPipeOptions), (0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor, ...useInterceptors), __param(0, (0, common_1.Inject)((0, helpers_1.provideName)('Aggregate', displayedName, version, 'Service'))), __metadata("design:paramtypes", [Object]) ], AggregateController); Object.defineProperty(AggregateController, 'name', { value: `${(0, helpers_1.provideName)('Aggregate', displayedName, version, 'Controller')}`, writable: false, }); return AggregateController; } exports.createAggregateController = createAggregateController; function createAggregateGateway(entity, displayedName, { useInterceptors = [], ...controllerOptions }, routeConfig, version, validationPipeOptions, gatewayOptions = {}) { let AggregateGateway = class AggregateGateway extends (0, aggregate_gateway_mixin_1.AggregateGatewayMixin)(entity, controllerOptions, routeConfig, version) { constructor(service, jwtService) { super(service, jwtService); this.service = service; this.jwtService = jwtService; } }; AggregateGateway = __decorate([ (0, websockets_1.WebSocketGateway)(gatewayOptions), (0, decorators_1.ValidatorPipe)(validationPipeOptions), (0, common_1.UseInterceptors)(common_1.ClassSerializerInterceptor, ...useInterceptors), __param(0, (0, common_1.Inject)((0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Service'))), __metadata("design:paramtypes", [Object, jwt_1.JwtService]) ], AggregateGateway); Object.defineProperty(AggregateGateway, 'name', { value: `${(0, helpers_1.provideName)(routeConfig.type, displayedName, version, 'Gateway')}`, writable: false, }); return AggregateGateway; } exports.createAggregateGateway = createAggregateGateway; //# sourceMappingURL=aggregate.helper.js.map