UNPKG

n8n

Version:

n8n Workflow Automation Tool

53 lines (52 loc) 3.53 kB
import { type EntityManager } from '@n8n/typeorm'; import { Logger } from 'n8n-core'; import type { IWorkflowBase, WorkflowId } from 'n8n-workflow'; import { ActiveWorkflowManager } from '../active-workflow-manager'; import { CredentialsService } from '../credentials/credentials.service'; import { EnterpriseCredentialsService } from '../credentials/credentials.service.ee'; import type { CredentialsEntity } from '../databases/entities/credentials-entity'; import { SharedWorkflow } from '../databases/entities/shared-workflow'; import type { User } from '../databases/entities/user'; import { CredentialsRepository } from '../databases/repositories/credentials.repository'; import { SharedCredentialsRepository } from '../databases/repositories/shared-credentials.repository'; import { SharedWorkflowRepository } from '../databases/repositories/shared-workflow.repository'; import { WorkflowRepository } from '../databases/repositories/workflow.repository'; import { OwnershipService } from '../services/ownership.service'; import { ProjectService } from '../services/project.service.ee'; import type { WorkflowWithSharingsAndCredentials, WorkflowWithSharingsMetaDataAndCredentials } from './workflows.types'; export declare class EnterpriseWorkflowService { private readonly logger; private readonly sharedWorkflowRepository; private readonly workflowRepository; private readonly credentialsRepository; private readonly credentialsService; private readonly ownershipService; private readonly projectService; private readonly activeWorkflowManager; private readonly sharedCredentialsRepository; private readonly enterpriseCredentialsService; constructor(logger: Logger, sharedWorkflowRepository: SharedWorkflowRepository, workflowRepository: WorkflowRepository, credentialsRepository: CredentialsRepository, credentialsService: CredentialsService, ownershipService: OwnershipService, projectService: ProjectService, activeWorkflowManager: ActiveWorkflowManager, sharedCredentialsRepository: SharedCredentialsRepository, enterpriseCredentialsService: EnterpriseCredentialsService); shareWithProjects(workflowId: WorkflowId, shareWithIds: string[], entityManager: EntityManager): Promise<SharedWorkflow[]>; addOwnerAndSharings(workflow: WorkflowWithSharingsAndCredentials): WorkflowWithSharingsMetaDataAndCredentials; addCredentialsToWorkflow(workflow: WorkflowWithSharingsMetaDataAndCredentials, currentUser: User): Promise<void>; validateCredentialPermissionsToUser(workflow: IWorkflowBase, allowedCredentials: CredentialsEntity[]): void; preventTampering<T extends IWorkflowBase>(workflow: T, workflowId: string, user: User): Promise<T>; validateWorkflowCredentialUsage<T extends IWorkflowBase>(newWorkflowVersion: T, previousWorkflowVersion: IWorkflowBase, credentialsUserHasAccessTo: Array<{ id: string; }>): T; getNodesWithInaccessibleCreds(workflow: IWorkflowBase, userCredIds: string[]): import("n8n-workflow").INode[]; transferOne(user: User, workflowId: string, destinationProjectId: string, shareCredentials?: string[]): Promise<{ error: { message: string; lineNumber: number | undefined; timestamp: number; name: string; description: string | null | undefined; context: import("n8n-workflow").IDataObject; cause: Error | undefined; } | { name: string; message: string; }; } | undefined>; }