mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
refactor(core): Abstract away InstanceSettings and encryptionKey into injectable services (no-changelog) (#7471)
This change ensures that things like `encryptionKey` and `instanceId` are always available directly where they are needed, instead of passing them around throughout the code.
This commit is contained in:
committed by
GitHub
parent
519680c2cf
commit
b6de910cbe
@@ -15,7 +15,7 @@ import Container, { Service } from 'typedi';
|
||||
import type { BooleanLicenseFeature, N8nInstanceType, NumericLicenseFeature } from './Interfaces';
|
||||
import type { RedisServicePubSubPublisher } from './services/redis/RedisServicePubSubPublisher';
|
||||
import { RedisService } from './services/redis.service';
|
||||
import { ObjectStoreService } from 'n8n-core';
|
||||
import { InstanceSettings, ObjectStoreService } from 'n8n-core';
|
||||
|
||||
type FeatureReturnType = Partial<
|
||||
{
|
||||
@@ -29,20 +29,17 @@ export class License {
|
||||
|
||||
private manager: LicenseManager | undefined;
|
||||
|
||||
instanceId: string | undefined;
|
||||
|
||||
private redisPublisher: RedisServicePubSubPublisher;
|
||||
|
||||
constructor() {
|
||||
constructor(private readonly instanceSettings: InstanceSettings) {
|
||||
this.logger = getLogger();
|
||||
}
|
||||
|
||||
async init(instanceId: string, instanceType: N8nInstanceType = 'main') {
|
||||
async init(instanceType: N8nInstanceType = 'main') {
|
||||
if (this.manager) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.instanceId = instanceId;
|
||||
const isMainInstance = instanceType === 'main';
|
||||
const server = config.getEnv('license.serverUrl');
|
||||
const autoRenewEnabled = isMainInstance && config.getEnv('license.autoRenewEnabled');
|
||||
@@ -67,7 +64,7 @@ export class License {
|
||||
logger: this.logger,
|
||||
loadCertStr: async () => this.loadCertStr(),
|
||||
saveCertStr,
|
||||
deviceFingerprint: () => instanceId,
|
||||
deviceFingerprint: () => this.instanceSettings.instanceId,
|
||||
onFeatureChange,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user