UNPKG

@n8n-plus/n8n-plus

Version:

n8n Workflow Automation Tool (plus edition)

91 lines (90 loc) 4.57 kB
import { Logger } from '@n8n/backend-common'; import { FolderRepository, type TagEntity, TagRepository, type User } from '@n8n/db'; import { EventService } from '../../events/event.service'; import { SourceControlGitService } from './source-control-git.service.ee'; import { SourceControlImportService } from './source-control-import.service.ee'; import { SourceControlPreferencesService } from './source-control-preferences.service.ee'; import type { StatusExportableCredential } from './types/exportable-credential'; import type { ExportableFolder } from './types/exportable-folders'; import type { ExportableProjectWithFileName } from './types/exportable-project'; import { ExportableVariable } from './types/exportable-variable'; import type { SourceControlGetStatus } from './types/source-control-get-status'; import type { SourceControlWorkflowVersionId } from './types/source-control-workflow-version-id'; export declare class SourceControlStatusService { private readonly logger; private readonly gitService; private readonly sourceControlImportService; private readonly sourceControlPreferencesService; private readonly tagRepository; private readonly folderRepository; private readonly eventService; constructor(logger: Logger, gitService: SourceControlGitService, sourceControlImportService: SourceControlImportService, sourceControlPreferencesService: SourceControlPreferencesService, tagRepository: TagRepository, folderRepository: FolderRepository, eventService: EventService); private get gitFolder(); getStatus(user: User, options: SourceControlGetStatus): Promise<{ type: "workflow" | "project" | "credential" | "file" | "tags" | "variables" | "folders"; status: "unknown" | "new" | "modified" | "deleted" | "created" | "renamed" | "conflicted" | "ignored" | "staged"; file: string; id: string; name: string; updatedAt: string; location: "local" | "remote"; conflict: boolean; pushed?: boolean | undefined; owner?: { type: "personal" | "team"; projectId: string; projectName: string; } | undefined; }[] | { wfRemoteVersionIds: SourceControlWorkflowVersionId[]; wfLocalVersionIds: SourceControlWorkflowVersionId[]; wfMissingInLocal: SourceControlWorkflowVersionId[]; wfMissingInRemote: SourceControlWorkflowVersionId[]; wfModifiedInEither: SourceControlWorkflowVersionId[]; credMissingInLocal: StatusExportableCredential[]; credMissingInRemote: StatusExportableCredential[]; credModifiedInEither: StatusExportableCredential[]; varMissingInLocal: ExportableVariable[]; varMissingInRemote: import("@n8n/db").Variables[]; varModifiedInEither: ExportableVariable[]; tagsMissingInLocal: TagEntity[]; tagsMissingInRemote: TagEntity[]; tagsModifiedInEither: TagEntity[]; mappingsMissingInLocal: import("@n8n/db").WorkflowTagMapping[]; mappingsMissingInRemote: import("@n8n/db").WorkflowTagMapping[]; foldersMissingInLocal: ExportableFolder[]; foldersMissingInRemote: ExportableFolder[]; foldersModifiedInEither: ExportableFolder[]; projectsRemote: ExportableProjectWithFileName[]; projectsLocal: ExportableProjectWithFileName[]; projectsMissingInLocal: ExportableProjectWithFileName[]; projectsMissingInRemote: ExportableProjectWithFileName[]; projectsModifiedInEither: ExportableProjectWithFileName[]; sourceControlledFiles: { type: "workflow" | "project" | "credential" | "file" | "tags" | "variables" | "folders"; status: "unknown" | "new" | "modified" | "deleted" | "created" | "renamed" | "conflicted" | "ignored" | "staged"; file: string; id: string; name: string; updatedAt: string; location: "local" | "remote"; conflict: boolean; pushed?: boolean | undefined; owner?: { type: "personal" | "team"; projectId: string; projectName: string; } | undefined; }[]; }>; private resetWorkfolder; private getStatusWorkflows; private getStatusCredentials; private getStatusVariables; private getStatusTagsMappings; private getStatusFoldersMapping; private getStatusProjects; private areVariablesEqual; private isProjectModified; private isProjectIconModified; }