UNPKG

@grouparoo/core

Version:
82 lines (81 loc) 2.87 kB
import { Schedule } from "./Schedule"; import { Import } from "./Import"; import { CommonModel } from "../classes/commonModel"; export interface HighWaterMark { [key: string]: string | number | Date; } declare const RUN_CREATORS: readonly ["schedule", "property", "group", "grouparooModel", "task", "teamMember"]; declare const STATES: readonly ["draft", "running", "complete", "stopped"]; export declare class Run extends CommonModel<Run> { idPrefix(): string; creatorId: string; creatorType: typeof RUN_CREATORS[number]; state: typeof STATES[number]; completedAt: Date; importsCreated: number; recordsCreated: number; recordsImported: number; error: string; get highWaterMark(): HighWaterMark; set highWaterMark(value: HighWaterMark); sourceOffset: string | number; memberLimit: number; memberOffset: number; method: string; percentComplete: number; destinationId: string; schedule: Schedule; imports: Import[]; determinePercentComplete(logPercentMessage?: boolean, write?: boolean): Promise<number>; afterBatch(newSate?: Run["state"]): Promise<void>; updateTotals(): Promise<void>; buildErrorMessage(): Promise<this>; stop(): Promise<void>; /** * Used to find the previous run for this connection. Useful in Connection#run to get the timestamp of the last time the connection was run. * Will ensure that the run returned did not error and read at least one record */ previousRun(): Promise<Run>; /** * This method tries to import a random record to check if the Properties are valid */ test(): Promise<void>; quantizedTimeline(steps?: number): Promise<{ lastBoundary: number; nextBoundary: number; steps: { associate: number; imported: number; }; }[]>; apiData(): Promise<{ id: string; creatorId: string; creatorName: string; creatorType: "group" | "task" | "schedule" | "property" | "grouparooModel" | "teamMember"; state: "stopped" | "running" | "complete" | "draft"; percentComplete: number; importsCreated: number; recordsCreated: number; recordsImported: number; error: string; highWaterMark: HighWaterMark; sourceOffset: string | number; memberLimit: number; memberOffset: number; method: string; destinationId: string; createdAt: number; updatedAt: number; completedAt: number; }>; getCreatorName(): Promise<string>; static ensureCreatorReady(instance: Run): Promise<void>; static updateState(instance: Run): Promise<void>; static testRun(instance: Run): Promise<void>; static sweep(limit: number): Promise<{ count: number; days: number; }>; } export {};