n8n
Version:
n8n Workflow Automation Tool
87 lines (86 loc) • 4.07 kB
TypeScript
import type { FrontendSettings } from '@n8n/api-types';
import { LicenseState, Logger, ModuleRegistry } from '@n8n/backend-common';
import { GlobalConfig, SecurityConfig } from '@n8n/config';
import { BinaryDataConfig, InstanceSettings } from 'n8n-core';
import type { INodeTypeDescription } from 'n8n-workflow';
import { CredentialTypes } from '../credential-types';
import { CredentialsOverwrites } from '../credentials-overwrites';
import { License } from '../license';
import { LoadNodesAndCredentials } from '../load-nodes-and-credentials';
import { MfaService } from '../mfa/mfa.service';
import { PushConfig } from '../push/push.config';
import { OwnershipService } from '../services/ownership.service';
import { UserManagementMailer } from '../user-management/email';
import { AiUsageService } from './ai-usage.service';
import { UrlService } from './url.service';
export type PublicFrontendSettings = {
settingsMode: FrontendSettings['settingsMode'];
defaultLocale: FrontendSettings['defaultLocale'];
previewMode: FrontendSettings['previewMode'];
authCookie: {
secure: FrontendSettings['authCookie']['secure'];
};
userManagement: {
authenticationMethod: FrontendSettings['userManagement']['authenticationMethod'];
showSetupOnFirstLoad: FrontendSettings['userManagement']['showSetupOnFirstLoad'];
smtpSetup: FrontendSettings['userManagement']['smtpSetup'];
passwordMinLength: FrontendSettings['userManagement']['passwordMinLength'];
};
enterprise: {
saml: FrontendSettings['enterprise']['saml'];
oidc: FrontendSettings['enterprise']['oidc'];
ldap: FrontendSettings['enterprise']['ldap'];
};
sso: {
saml: {
loginEnabled: FrontendSettings['sso']['saml']['loginEnabled'];
};
ldap: {
loginEnabled: FrontendSettings['sso']['ldap']['loginEnabled'];
loginLabel: FrontendSettings['sso']['ldap']['loginLabel'];
};
oidc: {
loginEnabled: FrontendSettings['sso']['oidc']['loginEnabled'];
loginUrl: FrontendSettings['sso']['oidc']['loginUrl'];
};
};
communityNodesEnabled: FrontendSettings['communityNodesEnabled'];
mfa?: {
enabled: boolean;
enforced: boolean;
};
};
export declare class FrontendService {
private readonly globalConfig;
private readonly logger;
private readonly loadNodesAndCredentials;
private readonly credentialTypes;
private readonly credentialsOverwrites;
private readonly license;
private readonly mailer;
private readonly instanceSettings;
private readonly urlService;
private readonly securityConfig;
private readonly pushConfig;
private readonly binaryDataConfig;
private readonly licenseState;
private readonly moduleRegistry;
private readonly mfaService;
private readonly ownershipService;
private readonly aiUsageService;
private settings;
private communityPackagesService?;
constructor(globalConfig: GlobalConfig, logger: Logger, loadNodesAndCredentials: LoadNodesAndCredentials, credentialTypes: CredentialTypes, credentialsOverwrites: CredentialsOverwrites, license: License, mailer: UserManagementMailer, instanceSettings: InstanceSettings, urlService: UrlService, securityConfig: SecurityConfig, pushConfig: PushConfig, binaryDataConfig: BinaryDataConfig, licenseState: LicenseState, moduleRegistry: ModuleRegistry, mfaService: MfaService, ownershipService: OwnershipService, aiUsageService: AiUsageService);
private collectEnvFeatureFlags;
private getShowSetupOnFirstLoad;
private initSettings;
generateTypes(): Promise<void>;
getSettings(): Promise<FrontendSettings>;
getPublicSettings(includeMfaSettings: boolean): Promise<PublicFrontendSettings>;
getModuleSettings(): {
[k: string]: import("@n8n/decorators").ModuleSettings;
};
getNodeVersionIdentifiers(nodes: INodeTypeDescription[]): string[];
private writeStaticJSON;
private overwriteCredentialsProperties;
}