@sourceloop/ctrl-plane-orchestrator-service
Version:
ARC SaaS Orchestrator service.
42 lines • 2.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrchestratorService = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const types_1 = require("./types");
let OrchestratorService = class OrchestratorService {
constructor(handleTenantProvisioning, handleTenantDeprovisioning, handleTenantProvisioningSuccess, handleTenantProvisioningFailure, handleTenantDeployment) {
this.handleTenantProvisioning = handleTenantProvisioning;
this.handleTenantDeprovisioning = handleTenantDeprovisioning;
this.handleTenantProvisioningSuccess = handleTenantProvisioningSuccess;
this.handleTenantProvisioningFailure = handleTenantProvisioningFailure;
this.handleTenantDeployment = handleTenantDeployment;
}
async handleEvent(eventType, eventBody) {
switch (eventType) {
case types_1.DefaultEventTypes.TENANT_PROVISIONING:
return this.handleTenantProvisioning(eventBody);
case types_1.DefaultEventTypes.TENANT_DEPROVISIONING:
return this.handleTenantDeprovisioning(eventBody);
case types_1.DefaultEventTypes.TENANT_PROVISIONING_SUCCESS:
return this.handleTenantProvisioningSuccess(eventBody);
case types_1.DefaultEventTypes.TENANT_PROVISIONING_FAILURE:
return this.handleTenantProvisioningFailure(eventBody);
case types_1.DefaultEventTypes.TENANT_DEPLOYMENT:
return this.handleTenantDeployment(eventBody);
default:
throw new Error(`Unsupported event type: ${eventType}`);
}
}
};
exports.OrchestratorService = OrchestratorService;
exports.OrchestratorService = OrchestratorService = tslib_1.__decorate([
(0, core_1.injectable)({ scope: core_1.BindingScope.TRANSIENT }),
tslib_1.__param(0, (0, core_1.inject)(types_1.OrchestratorServiceBindings.TENANT_PROVISIONING_HANDLER)),
tslib_1.__param(1, (0, core_1.inject)(types_1.OrchestratorServiceBindings.TENANT_DEPROVISIONING_HANDLER)),
tslib_1.__param(2, (0, core_1.inject)(types_1.OrchestratorServiceBindings.TENANT_PROVISIONING_SUCCESS_HANDLER)),
tslib_1.__param(3, (0, core_1.inject)(types_1.OrchestratorServiceBindings.TENANT_PROVISIONING_FAILURE_HANDLER)),
tslib_1.__param(4, (0, core_1.inject)(types_1.OrchestratorServiceBindings.TENANT_DEPLOYMENT_HANDLER)),
tslib_1.__metadata("design:paramtypes", [Function, Function, Function, Function, Function])
], OrchestratorService);
//# sourceMappingURL=orchestrator.service.js.map