UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

72 lines (71 loc) 2.24 kB
import { GuidEntities } from "./guid-data-loader"; import { PushOperationConfig } from "./push-operations-config"; export interface PushResults { successful: string[]; failed: Array<{ operation: string; error: string; }>; skipped: string[]; totalDuration: number; sourceGuidProcessed: string; targetGuidProcessed: string; logFilePath?: string; totalSuccess: number; totalFailures: number; totalSkipped: number; publishableContentIds: number[]; publishablePageIds: number[]; } export interface PusherConfig { onOperationStart?: (operationName: string, sourceGuid: string, targetGuid: string) => void; onOperationComplete?: (operationName: string, sourceGuid: string, targetGuid: string, success: boolean) => void; } export declare class Pushers { private config; private startTime; private fileOps; constructor(config?: PusherConfig); /** * Execute all push operations for source to target GUID */ guidPusher(sourceGuid: string, targetGuid: string): Promise<PushResults>; /** * Orchestrate push operations (MAIN METHOD) */ instanceOrchestrator(): Promise<PushResults[]>; /** * Execute pushers in dependency order - moved from sync.ts */ private executePushersInOrder; executePushOperation({ config, sourceData, targetData, locale, totalSuccess, totalFailures, totalSkipped, publishableContentIds, publishablePageIds, elements, }: { config: PushOperationConfig; sourceData: GuidEntities; targetData: GuidEntities; locale: string; totalSuccess: number; totalSkipped: number; totalFailures: number; publishableContentIds?: number[]; publishablePageIds?: number[]; elements: string[]; }): Promise<void>; /** * Get push summary */ getPushSummary(): { totalOperations: number; successfulOperations: number; failedOperations: number; overallSuccess: boolean; duration: number; }; /** * Reset orchestrator state */ reset(): void; /** * Update configuration */ updateConfig(config: Partial<PusherConfig>): void; }