UNPKG

@grouparoo/core

Version:
121 lines (120 loc) 4.55 kB
import { Destination } from "./Destination"; import { Export } from "./Export"; import { Errors } from "../modules/errors"; import { CommonModel } from "../classes/commonModel"; export declare const ExportProcessorStates: readonly ["pending", "failed", "complete"]; export declare class ExportProcessor extends CommonModel<ExportProcessor> { idPrefix(): string; id: string; destinationId: string; remoteKey: string; state: typeof ExportProcessorStates[number]; startedAt: Date; processAt: Date; retryCount: number; completedAt: Date; errorMessage: string; exports: Export[]; errorLevel: Errors.ErrorLevel; destination: Destination; setError(error: Error, retryDelay?: number): Promise<ExportProcessor>; retry(retryDelay?: number, skipCount?: boolean): Promise<ExportProcessor>; complete(): Promise<void>; apiData(includeDestination?: boolean): Promise<{ id: string; destination: { id: string; name: string; type: string; state: "ready" | "draft" | "deleted"; locked: string; syncMode: "sync" | "additive" | "enrich"; syncModes: { key: "sync" | "additive" | "enrich"; displayName: string; description: string; operations: import("./Destination").DestinationSyncOperations; }[]; collection: "none" | "group" | "model"; app: { id: string; name: string; icon: string; type: string; state: "ready" | "draft" | "deleted"; locked: string; options: import("../modules/optionHelper").OptionHelper.SimpleOptions; provides: { source: boolean; destination: boolean; }; pluginName: string; pluginApp: import("..").PluginApp; refreshQueryAvailable: boolean; createdAt: number; updatedAt: number; appRefreshQuery: { id: string; appId: string; refreshQuery: string; value: string; locked: string; state: "ready" | "draft"; lastChangedAt: number; lastConfirmedAt: number; recurringFrequency: number; createdAt: number; updatedAt: number; }; }; modelId: string; modelName: string; mapping: import("../modules/mappingHelper").MappingHelper.Mappings; options: import("../modules/optionHelper").OptionHelper.SimpleOptions; connection: import("..").PluginConnection; group: { id: string; name: string; modelId: string; modelName: string; rules: import("./Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }; destinationGroupMemberships: import("./Destination").SimpleDestinationGroupMembership[]; createdAt: number; updatedAt: number; exportTotals: { failed: number; canceled: number; complete: number; pending: number; draft: number; processing: number; }; }; destinationName: string; state: "failed" | "complete" | "pending"; createdAt: number; processAt: number; startedAt: number; completedAt: number; remoteKey: string; exportsCount: number; retryCount: number; errorMessage: string; errorLevel: "error" | "info"; }>; getExportsToProcess(): Promise<Export[]>; ensureAllExportsProcessed(): Promise<void>; static defaultState: string; static updateState(instance: ExportProcessor): Promise<void>; static ensureErrorLevel(instance: ExportProcessor): void; static sweep(limit: number): Promise<number>; }