n8n
Version:
n8n Workflow Automation Tool
21 lines (20 loc) • 1.31 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import type { User, WorkflowEntity } from '@n8n/db';
import { ProjectRepository } from '@n8n/db';
import { ProjectService } from '../../../../services/project.service.ee';
import { WorkflowService } from '../../../../workflows/workflow.service';
import type { PersistedWorkflowPlanItem } from './workflow-import.types';
import { WorkflowPublishingPolicy, type WorkflowPublishingBlockedReason, type WorkflowPublishingOutcome } from './workflow-publishing-policy.types';
export interface WorkflowPublishingResult {
workflow: WorkflowEntity;
publishing: WorkflowPublishingOutcome;
}
export declare class WorkflowPublisher {
private readonly logger;
private readonly projectRepository;
private readonly projectService;
private readonly workflowService;
constructor(logger: Logger, projectRepository: ProjectRepository, projectService: ProjectService, workflowService: WorkflowService);
assertCanPublish(user: User, projectId: string, policy: WorkflowPublishingPolicy, projectPendingCreation?: boolean): Promise<void>;
apply(user: User, item: PersistedWorkflowPlanItem, workflow: WorkflowEntity, policy: WorkflowPublishingPolicy, publishBlocked: ReadonlyMap<string, WorkflowPublishingBlockedReason>): Promise<WorkflowPublishingResult>;
}