UNPKG

@sourceloop/ctrl-plane-tenant-management-service

Version:

Tenant Management microservice for SaaS control plane

58 lines 2.31 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebhookController = void 0; const tslib_1 = require("tslib"); const rest_1 = require("@loopback/rest"); const core_1 = require("@sourceloop/core"); const loopback4_authorization_1 = require("loopback4-authorization"); const models_1 = require("../../models"); const core_2 = require("@loopback/core"); const keys_1 = require("../../keys"); const loopback4_ratelimiter_1 = require("loopback4-ratelimiter"); const webhook_helper_service_1 = require("../../services/webhook-helper.service"); const basePath = '/webhook'; let WebhookController = class WebhookController { constructor(webhookService) { this.webhookService = webhookService; } async webhook(dto) { return this.webhookService.process(dto); } }; exports.WebhookController = WebhookController; tslib_1.__decorate([ (0, core_2.intercept)(keys_1.WEBHOOK_VERIFIER), (0, loopback4_ratelimiter_1.ratelimit)(true, { max: Number.parseInt((_a = process.env.WEBHOOK_API_MAX_ATTEMPTS) !== null && _a !== void 0 ? _a : '10'), keyGenerator: core_1.rateLimitKeyGenPublic, }), (0, loopback4_authorization_1.authorize)({ permissions: ['*'], }), (0, rest_1.post)(`${basePath}`, { security: core_1.OPERATION_SECURITY_SPEC, responses: { [204 /* STATUS_CODE.NO_CONTENT */]: { description: 'Webhook success', }, }, }), tslib_1.__param(0, (0, rest_1.requestBody)({ content: { [core_1.CONTENT_TYPE.JSON]: { schema: (0, core_1.getModelSchemaRefSF)(models_1.WebhookDTO, { title: 'WebhookDTO', }), }, }, })), tslib_1.__metadata("design:type", Function), tslib_1.__metadata("design:paramtypes", [models_1.WebhookDTO]), tslib_1.__metadata("design:returntype", Promise) ], WebhookController.prototype, "webhook", null); exports.WebhookController = WebhookController = tslib_1.__decorate([ tslib_1.__param(0, (0, core_2.inject)('services.WebhookHelperService')), tslib_1.__metadata("design:paramtypes", [webhook_helper_service_1.WebhookHelperService]) ], WebhookController); //# sourceMappingURL=webhook.controller.js.map