@sourceloop/ctrl-plane-tenant-management-service
Version:
Tenant Management microservice for SaaS control plane
30 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebhookHelperService = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const rest_1 = require("@loopback/rest");
const keys_1 = require("../keys");
let WebhookHelperService = class WebhookHelperService {
constructor(getHandlers) {
this.getHandlers = getHandlers;
}
async process(dto) {
const handlers = await this.getHandlers();
const handler = handlers.find(h => h.type === dto.type);
if (handler) {
await handler.handle(dto);
}
else {
throw new rest_1.HttpErrors.UnprocessableEntity('Invalid type of webhook');
}
}
};
exports.WebhookHelperService = WebhookHelperService;
exports.WebhookHelperService = WebhookHelperService = tslib_1.__decorate([
(0, core_1.injectable)({ scope: core_1.BindingScope.TRANSIENT }),
(0, core_1.extensionPoint)(keys_1.WebhookHandlerEP.key),
tslib_1.__param(0, (0, core_1.extensions)()),
tslib_1.__metadata("design:paramtypes", [Function])
], WebhookHelperService);
//# sourceMappingURL=webhook-helper.service.js.map