n8n
Version:
n8n Workflow Automation Tool
121 lines (120 loc) • 4.16 kB
TypeScript
import type { PushMessage } from '@n8n/api-types';
import { ExecutionsConfig } from '@n8n/config';
import type { BooleanLicenseFeature, NumericLicenseFeature } from '@n8n/constants';
import { SettingsRepository, UserRepository } from '@n8n/db';
import { Request } from 'express';
import type nodeFs from 'node:fs';
import { ActiveWorkflowManager } from '../active-workflow-manager';
import { License } from '../license';
import { MfaService } from '../mfa/mfa.service';
import { LogStreamingDestinationService } from '../modules/log-streaming.ee/log-streaming-destination.service';
import { Push } from '../push';
import { CacheService } from '../services/cache/cache.service';
import { FrontendService } from '../services/frontend.service';
import { PasswordUtility } from '../services/password.utility';
type UserSetupPayload = {
email: string;
password: string;
firstName: string;
lastName: string;
mfaEnabled?: boolean;
mfaSecret?: string;
mfaRecoveryCodes?: string[];
};
type ResetRequest = Request<{}, {}, {
owner: UserSetupPayload;
members: UserSetupPayload[];
admin: UserSetupPayload;
chat: UserSetupPayload;
}>;
type PushRequest = Request<{}, {}, {
pushRef: string;
} & PushMessage>;
export declare class E2EController {
private readonly settingsRepo;
private readonly workflowRunner;
private readonly mfaService;
private readonly cacheService;
private readonly push;
private readonly passwordUtility;
private readonly userRepository;
private readonly frontendService;
private readonly executionsConfig;
private readonly logStreamingDestinationsService;
private enabledFeatures;
private static readonly numericFeaturesDefaults;
private numericFeatures;
constructor(license: License, settingsRepo: SettingsRepository, workflowRunner: ActiveWorkflowManager, mfaService: MfaService, cacheService: CacheService, push: Push, passwordUtility: PasswordUtility, userRepository: UserRepository, frontendService: FrontendService, executionsConfig: ExecutionsConfig, logStreamingDestinationsService: LogStreamingDestinationService);
reset(req: ResetRequest): Promise<void>;
pushSend(req: PushRequest): Promise<void>;
setFeature(req: Request<{}, {}, {
feature: BooleanLicenseFeature;
enabled: boolean;
}>): void;
setQuota(req: Request<{}, {}, {
feature: NumericLicenseFeature;
value: number;
}>): void;
setQueueMode(req: Request<{}, {}, {
enabled: boolean;
}>): Promise<{
success: boolean;
message: string;
}>;
getEnvFeatureFlags(): Promise<import("@n8n/api-types").N8nEnvFeatFlags>;
setEnvFeatureFlags(req: Request<{}, {}, {
flags: Record<string, string>;
}>): Promise<{
success: boolean;
message: string;
flags?: undefined;
} | {
success: boolean;
message: string;
flags: import("@n8n/api-types").N8nEnvFeatFlags;
}>;
triggerGarbageCollection(): {
success: boolean;
message: string;
};
takeHeapSnapshot(): {
success: boolean;
message: string;
filePath?: undefined;
sizeBytes?: undefined;
sizeMB?: undefined;
} | {
success: boolean;
filePath: string;
sizeBytes: number;
sizeMB: number;
message?: undefined;
};
private heapSnapshotPaths;
downloadHeapSnapshot(req: Request): nodeFs.ReadStream;
getMemoryMaps(): {
processMemoryUsage: {
rss: number;
heapTotal: number;
heapUsed: number;
external: number;
arrayBuffers: number;
};
rollup: Record<string, number> | null;
mappings: Array<{
name: string;
rssMB: number;
pssMB: number;
count: number;
}> | null;
raw: string | null;
};
private resetFeatures;
private removeActiveWorkflows;
private resetLogStreaming;
private truncateAll;
private reseedRolesAndScopes;
private setupUserManagement;
private resetCache;
}
export {};