@grouparoo/core
Version:
The Grouparoo Core
369 lines (368 loc) • 11.5 kB
TypeScript
import { AuthenticatedAction } from "../classes/actions/authenticatedAction";
import { FilterHelper } from "../modules/filterHelper";
import { APIData } from "../modules/apiData";
import { ActionPermission } from "../models/Permission";
import { ParamsFrom } from "actionhero";
export declare class SchedulesList extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly modelId: {
readonly required: false;
};
readonly limit: {
readonly required: true;
readonly default: 100;
readonly formatter: typeof APIData.ensureNumber;
};
readonly offset: {
readonly required: true;
readonly default: 0;
readonly formatter: typeof APIData.ensureNumber;
};
readonly state: {
readonly required: false;
};
readonly order: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
readonly default: readonly [readonly ["name", "desc"], readonly ["createdAt", "desc"]];
};
};
runWithinTransaction({ params, }: {
params: ParamsFrom<SchedulesList>;
}): Promise<{
total: number;
schedules: {
id: string;
name: string;
state: "ready" | "draft";
sourceId: string;
incremental: boolean;
recurring: boolean;
refreshEnabled: boolean;
locked: string;
confirmRecords: boolean;
supportIncrementalSchedule: boolean;
options: import("../modules/optionHelper").OptionHelper.SimpleOptions;
filters: FilterHelper.FiltersWithKey[];
recurringFrequency: number;
createdAt: number;
updatedAt: number;
}[];
}>;
}
export declare class ScheduleRun extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ScheduleRun>;
}): Promise<{
run: {
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: import("../models/Run").HighWaterMark;
sourceOffset: string | number;
memberLimit: number;
memberOffset: number;
method: string;
destinationId: string;
createdAt: number;
updatedAt: number;
completedAt: number;
};
}>;
}
export declare class SchedulesRun extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly scheduleIds: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
};
readonly modelId: {
readonly required: false;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<SchedulesRun>;
}): Promise<{
runs: {
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: import("../models/Run").HighWaterMark;
sourceOffset: string | number;
memberLimit: number;
memberOffset: number;
method: string;
destinationId: string;
createdAt: number;
updatedAt: number;
completedAt: number;
}[];
}>;
}
export declare class ScheduleCreate extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly name: {
readonly required: false;
};
readonly sourceId: {
readonly required: true;
};
readonly recurring: {
readonly required: true;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly confirmRecords: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly state: {
readonly required: false;
};
readonly refreshEnabled: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly incremental: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly options: {
readonly required: false;
readonly formatter: typeof APIData.ensureObject;
};
readonly recurringFrequency: {
readonly required: true;
readonly default: 0;
readonly formatter: typeof APIData.ensureNumber;
};
readonly filters: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
};
};
runWithinTransaction({ params, }: {
params: ParamsFrom<ScheduleCreate>;
}): Promise<{
schedule: {
id: string;
name: string;
state: "ready" | "draft";
sourceId: string;
incremental: boolean;
recurring: boolean;
refreshEnabled: boolean;
locked: string;
confirmRecords: boolean;
supportIncrementalSchedule: boolean;
options: import("../modules/optionHelper").OptionHelper.SimpleOptions;
filters: FilterHelper.FiltersWithKey[];
recurringFrequency: number;
createdAt: number;
updatedAt: number;
};
pluginOptions: {
key: string;
description: string;
required: boolean;
type: string;
options: {
key: string;
description?: string;
examples?: any[];
}[];
}[];
}>;
}
export declare class ScheduleEdit extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
readonly name: {
readonly required: false;
};
readonly sourceId: {
readonly required: false;
};
readonly recurring: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly refreshEnabled: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly incremental: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly confirmRecords: {
readonly required: false;
readonly formatter: typeof APIData.ensureBoolean;
};
readonly state: {
readonly required: false;
};
readonly options: {
readonly required: false;
readonly formatter: typeof APIData.ensureObject;
};
readonly recurringFrequency: {
readonly required: false;
readonly formatter: typeof APIData.ensureNumber;
};
readonly filters: {
readonly required: false;
readonly formatter: typeof APIData.ensureArray;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ScheduleEdit>;
}): Promise<{
schedule: {
id: string;
name: string;
state: "ready" | "draft";
sourceId: string;
incremental: boolean;
recurring: boolean;
refreshEnabled: boolean;
locked: string;
confirmRecords: boolean;
supportIncrementalSchedule: boolean;
options: import("../modules/optionHelper").OptionHelper.SimpleOptions;
filters: FilterHelper.FiltersWithKey[];
recurringFrequency: number;
createdAt: number;
updatedAt: number;
};
pluginOptions: {
key: string;
description: string;
required: boolean;
type: string;
options: {
key: string;
description?: string;
examples?: any[];
}[];
}[];
}>;
}
export declare class ScheduleFilterOptions extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params, }: {
params: ParamsFrom<ScheduleFilterOptions>;
}): Promise<{
options: import("..").SourceFilterMethodResponseRow[];
optionDescriptions: {
[key: string]: string;
};
}>;
}
export declare class ScheduleView extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params }: {
params: ParamsFrom<ScheduleView>;
}): Promise<{
schedule: {
id: string;
name: string;
state: "ready" | "draft";
sourceId: string;
incremental: boolean;
recurring: boolean;
refreshEnabled: boolean;
locked: string;
confirmRecords: boolean;
supportIncrementalSchedule: boolean;
options: import("../modules/optionHelper").OptionHelper.SimpleOptions;
filters: FilterHelper.FiltersWithKey[];
recurringFrequency: number;
createdAt: number;
updatedAt: number;
};
pluginOptions: {
key: string;
description: string;
required: boolean;
type: string;
options: {
key: string;
description?: string;
examples?: any[];
}[];
}[];
}>;
}
export declare class ScheduleDestroy extends AuthenticatedAction {
name: string;
description: string;
outputExample: {};
permission: ActionPermission;
inputs: {
readonly id: {
readonly required: true;
};
};
runWithinTransaction({ params, }: {
params: ParamsFrom<ScheduleDestroy>;
}): Promise<{
success: boolean;
}>;
}