@grouparoo/core
Version:
The Grouparoo Core
121 lines (120 loc) • 4.55 kB
TypeScript
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>;
}