n8n
Version:
n8n Workflow Automation Tool
50 lines (49 loc) • 4.19 kB
TypeScript
import type { CreateWorkflowReviewRequestDto, DecideWorkflowReviewRequestDto, DecideWorkflowReviewRequestResponse, GetWorkflowReviewEligibleReviewersQueryDto, ListWorkflowReviewRequestsQueryDto, UpdateWorkflowReviewRequestVersionDto, WorkflowReviewEligibleReviewersList, WorkflowReviewRequestList, WorkflowReviewRequestSummary } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { DbLockService, SharedWorkflowRepository, UserRepository, WorkflowHistoryRepository, WorkflowPublishHistoryRepository, WorkflowReviewRequestAuthorRepository, WorkflowReviewRequestRepository, WorkflowRepository, WorkflowReviewRequestReviewerRepository, WorkflowReviewRequestWorkflowRepository, type User } from '@n8n/db';
import { CollaborationService } from '../../collaboration/collaboration.service';
import { RoleService } from '../../services/role.service';
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
import { WorkflowHistoryService } from '../../workflows/workflow-history/workflow-history.service';
import { WorkflowService } from '../../workflows/workflow.service';
import { WorkflowReviewDecisionEligibilityService } from './workflow-review-decision-eligibility.service';
import { WorkflowReviewFeatureGate } from './workflow-review-feature-gate.service';
export declare class WorkflowReviewRequestService {
private readonly logger;
private readonly featureGate;
private readonly workflowFinderService;
private readonly workflowHistoryService;
private readonly workflowHistoryRepository;
private readonly workflowRepository;
private readonly sharedWorkflowRepository;
private readonly workflowPublishHistoryRepository;
private readonly workflowReviewRequestRepository;
private readonly workflowReviewRequestWorkflowRepository;
private readonly workflowReviewRequestAuthorRepository;
private readonly workflowReviewRequestReviewerRepository;
private readonly userRepository;
private readonly decisionEligibilityService;
private readonly roleService;
private readonly dbLockService;
private readonly collaborationService;
private readonly workflowService;
constructor(logger: Logger, featureGate: WorkflowReviewFeatureGate, workflowFinderService: WorkflowFinderService, workflowHistoryService: WorkflowHistoryService, workflowHistoryRepository: WorkflowHistoryRepository, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository, workflowPublishHistoryRepository: WorkflowPublishHistoryRepository, workflowReviewRequestRepository: WorkflowReviewRequestRepository, workflowReviewRequestWorkflowRepository: WorkflowReviewRequestWorkflowRepository, workflowReviewRequestAuthorRepository: WorkflowReviewRequestAuthorRepository, workflowReviewRequestReviewerRepository: WorkflowReviewRequestReviewerRepository, userRepository: UserRepository, decisionEligibilityService: WorkflowReviewDecisionEligibilityService, roleService: RoleService, dbLockService: DbLockService, collaborationService: CollaborationService, workflowService: WorkflowService);
private findEligibleReviewers;
list(user: User, query: ListWorkflowReviewRequestsQueryDto): Promise<WorkflowReviewRequestList>;
private toWorkflowScopedItems;
private resolveDecisionActors;
private pickDecisionActor;
private resolveApprovedPublicationStates;
private pickApprovedPublicationState;
getEligibleReviewers(user: User, query: GetWorkflowReviewEligibleReviewersQueryDto): Promise<WorkflowReviewEligibleReviewersList>;
private nameVersion;
private assertWorkflowStillReviewable;
create(user: User, dto: CreateWorkflowReviewRequestDto): Promise<WorkflowReviewRequestSummary>;
updateVersion(user: User, workflowReviewRequestId: string, dto: UpdateWorkflowReviewRequestVersionDto): Promise<WorkflowReviewRequestSummary>;
decide(user: User, workflowReviewRequestId: string, dto: DecideWorkflowReviewRequestDto): Promise<DecideWorkflowReviewRequestResponse>;
private publishApprovedVersion;
private assertDecisionAllowed;
private broadcastReviewStateChanged;
private assertRequestUpdatable;
private toSummary;
}