|
diff --git a/packages/@n8n/backend-common/src/license-state.ts b/packages/@n8n/backend-common/src/license-state.ts |
|
index d78ba53eb6..b869c492c9 100644 |
|
--- a/packages/@n8n/backend-common/src/license-state.ts |
|
+++ b/packages/@n8n/backend-common/src/license-state.ts |
|
@@ -30,24 +30,27 @@ export class LicenseState { |
|
* If the feature is a string. checks if the feature is licensed |
|
* If the feature is an array of strings, it checks if any of the features are licensed |
|
*/ |
|
- isLicensed(feature: BooleanLicenseFeature | BooleanLicenseFeature[]) { |
|
- this.assertProvider(); |
|
- |
|
- if (typeof feature === 'string') return this.licenseProvider.isLicensed(feature); |
|
- |
|
- for (const featureName of feature) { |
|
- if (this.licenseProvider.isLicensed(featureName)) { |
|
- return true; |
|
- } |
|
- } |
|
- |
|
- return false; |
|
+ isLicensed(_feature: BooleanLicenseFeature | BooleanLicenseFeature[]) { |
|
+ return true; |
|
} |
|
|
|
getValue<T extends keyof FeatureReturnType>(feature: T): FeatureReturnType[T] { |
|
+ if (feature === 'planName') { |
|
+ return 'Enterprise' as FeatureReturnType[T]; |
|
+ } |
|
+ |
|
+ if (feature.toString().includes('quota:')) { |
|
+ return UNLIMITED_LICENSE_QUOTA as FeatureReturnType[T]; |
|
+ } |
|
+ |
|
this.assertProvider(); |
|
|
|
- return this.licenseProvider.getValue(feature); |
|
+ const realValue = this.licenseProvider.getValue(feature); |
|
+ if (realValue !== undefined && realValue !== null) { |
|
+ return realValue; |
|
+ } else { |
|
+ return UNLIMITED_LICENSE_QUOTA as FeatureReturnType[T]; |
|
+ } |
|
} |
|
|
|
// -------------------- |
|
diff --git a/packages/cli/src/license.ts b/packages/cli/src/license.ts |
|
index 196528fd33..08cce3171a 100644 |
|
--- a/packages/cli/src/license.ts |
|
+++ b/packages/cli/src/license.ts |
|
@@ -251,8 +251,8 @@ export class License implements LicenseProvider { |
|
this.logger.debug('License shut down'); |
|
} |
|
|
|
- isLicensed(feature: BooleanLicenseFeature) { |
|
- return this.manager?.hasFeatureEnabled(feature) ?? false; |
|
+ isLicensed(feature: BooleanLicenseFeature): boolean { |
|
+ return feature !== LICENSE_FEATURES.SHOW_NON_PROD_BANNER; |
|
} |
|
|
|
/** @deprecated Use `LicenseState.isDynamicCredentialsLicensed` instead. */ |
|
@@ -380,7 +380,20 @@ export class License implements LicenseProvider { |
|
} |
|
|
|
getValue<T extends keyof FeatureReturnType>(feature: T): FeatureReturnType[T] { |
|
- return this.manager?.getFeatureValue(feature) as FeatureReturnType[T]; |
|
+ if (feature === 'planName') { |
|
+ return 'Enterprise' as FeatureReturnType[T]; |
|
+ } |
|
+ |
|
+ if (feature.toString().includes('quota:')) { |
|
+ return UNLIMITED_LICENSE_QUOTA as FeatureReturnType[T]; |
|
+ } |
|
+ |
|
+ const realValue = this.manager?.getFeatureValue(feature) as FeatureReturnType[T]; |
|
+ if (realValue !== undefined && realValue !== null) { |
|
+ return realValue; |
|
+ } |
|
+ |
|
+ return UNLIMITED_LICENSE_QUOTA as FeatureReturnType[T]; |
|
} |
|
|
|
getManagementJwt(): string { |
|
diff --git a/packages/frontend/editor-ui/src/app/utils/rbac/checks/isEnterpriseFeatureEnabled.ts b/packages/frontend/editor-ui/src/app/utils/rbac/checks/isEnterpriseFeatureEnabled.ts |
|
index 00df351894..913aee702c 100644 |
|
--- a/packages/frontend/editor-ui/src/app/utils/rbac/checks/isEnterpriseFeatureEnabled.ts |
|
+++ b/packages/frontend/editor-ui/src/app/utils/rbac/checks/isEnterpriseFeatureEnabled.ts |
|
@@ -4,16 +4,5 @@ import type { RBACPermissionCheck, EnterprisePermissionOptions } from '@/app/typ |
|
export const isEnterpriseFeatureEnabled: RBACPermissionCheck<EnterprisePermissionOptions> = ( |
|
options, |
|
) => { |
|
- if (!options?.feature) { |
|
- return true; |
|
- } |
|
- |
|
- const features = Array.isArray(options.feature) ? options.feature : [options.feature]; |
|
- const settingsStore = useSettingsStore(); |
|
- const mode = options.mode ?? 'allOf'; |
|
- if (mode === 'allOf') { |
|
- return features.every((feature) => settingsStore.isEnterpriseFeatureEnabled[feature]); |
|
- } else { |
|
- return features.some((feature) => settingsStore.isEnterpriseFeatureEnabled[feature]); |
|
- } |
|
+ return true; |
|
}; |