UNPKG

n8n

Version:

n8n Workflow Automation Tool

54 lines 2.79 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkflowReviewFeatureGate = void 0; const backend_common_1 = require("@n8n/backend-common"); const di_1 = require("@n8n/di"); const workflow_reviews_1 = require("../../constants/workflow-reviews"); const forbidden_error_1 = require("../../errors/response-errors/forbidden.error"); const workflow_review_policy_service_1 = require("../../services/workflow-review-policy.service"); let WorkflowReviewFeatureGate = class WorkflowReviewFeatureGate { constructor(licenseState, workflowReviewPolicyService) { this.licenseState = licenseState; this.workflowReviewPolicyService = workflowReviewPolicyService; } async isAvailable() { return (await this.getAvailability()).available; } async assertAvailable() { const availability = await this.getAvailability(); if (!availability.available) { throw new forbidden_error_1.ForbiddenError(availability.errorMessage); } } async getAvailability() { if (!(0, workflow_reviews_1.isWorkflowReviewsFeatureAvailable)(this.licenseState.isWorkflowReviewsLicensed())) { return { available: false, errorMessage: 'Workflow reviews are not available on this instance', }; } const policy = await this.workflowReviewPolicyService.get(); if (!policy.enabled) { return { available: false, errorMessage: 'Workflow reviews are disabled on this instance', }; } return { available: true }; } }; exports.WorkflowReviewFeatureGate = WorkflowReviewFeatureGate; exports.WorkflowReviewFeatureGate = WorkflowReviewFeatureGate = __decorate([ (0, di_1.Service)(), __metadata("design:paramtypes", [backend_common_1.LicenseState, workflow_review_policy_service_1.WorkflowReviewPolicyService]) ], WorkflowReviewFeatureGate); //# sourceMappingURL=workflow-review-feature-gate.service.js.map