UNPKG

@grouparoo/core

Version:
724 lines (723 loc) 25 kB
import { AuthenticatedAction } from "../classes/actions/authenticatedAction"; import { APIData } from "../modules/apiData"; import { ActionPermission } from "../models/Permission"; import { ParamsFrom } from "actionhero"; export declare class GroupsList extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { 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 modelId: { 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<GroupsList>; }): Promise<{ total: number; groups: { id: string; name: string; modelId: string; modelName: string; rules: import("../models/Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }[]; }>; } export declare class GroupsRuleOptions extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; runWithinTransaction(): Promise<{ ruleLimit: number; ops: { boolean: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }]; date: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "gt"; readonly description: "is after"; }, { readonly op: "lt"; readonly description: "is before"; }, { readonly op: "gte"; readonly description: "is on or after"; }, { readonly op: "lte"; readonly description: "is on or before"; }, { readonly op: "relative_gt"; readonly description: "is in the past"; }, { readonly op: "relative_lt"; readonly description: "is in the future"; }]; email: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }] | readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }, { readonly op: "iLike"; readonly description: "is like (case insensitive)"; }, { readonly op: "notILike"; readonly description: "is not like (case insensitive)"; }]; float: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "gt"; readonly description: "is greater than"; }, { readonly op: "lt"; readonly description: "is less than"; }, { readonly op: "gte"; readonly description: "is greater than or equal to"; }, { readonly op: "lte"; readonly description: "is less than or equal to"; }]; integer: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "gt"; readonly description: "is greater than"; }, { readonly op: "lt"; readonly description: "is less than"; }, { readonly op: "gte"; readonly description: "is greater than or equal to"; }, { readonly op: "lte"; readonly description: "is less than or equal to"; }]; phoneNumber: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }] | readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }, { readonly op: "iLike"; readonly description: "is like (case insensitive)"; }, { readonly op: "notILike"; readonly description: "is not like (case insensitive)"; }]; string: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }] | readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }, { readonly op: "iLike"; readonly description: "is like (case insensitive)"; }, { readonly op: "notILike"; readonly description: "is not like (case insensitive)"; }]; url: readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }] | readonly [{ readonly op: "exists"; readonly description: "exists with any value"; }, { readonly op: "notExists"; readonly description: "does not exist"; }, { readonly op: "eq"; readonly description: "is equal to"; }, { readonly op: "ne"; readonly description: "is not equal to"; }, { readonly op: "like"; readonly description: "is like (case sensitive)"; }, { readonly op: "notLike"; readonly description: "is not like (case sensitive)"; }, { readonly op: "startsWith"; readonly description: "starts with"; }, { readonly op: "endsWith"; readonly description: "ends with"; }, { readonly op: "substring"; readonly description: "includes the string"; }, { readonly op: "iLike"; readonly description: "is like (case insensitive)"; }, { readonly op: "notILike"; readonly description: "is not like (case insensitive)"; }]; _relativeMatchUnits: readonly ["days", "weeks", "months", "quarters", "years"]; _convenientRules: { exists: { operation: { op: string; }; match: string; }; notExists: { operation: { op: string; }; match: string; }; relative_gt: { operation: { op: string; }; relativeMatchDirection: string; }; relative_lt: { operation: { op: string; }; relativeMatchDirection: string; }; }; }; topLevelGroupRules: readonly [{ readonly key: "grouparooId"; readonly column: "id"; readonly type: "string"; }, { readonly key: "grouparooCreatedAt"; readonly column: "createdAt"; readonly type: "date"; }]; }>; } export declare class GroupCreate extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly name: { readonly required: true; }; readonly modelId: { readonly required: true; }; readonly matchType: { readonly required: true; readonly default: "all"; }; readonly rules: { readonly required: false; readonly formatter: typeof APIData.ensureArray; }; readonly state: { readonly required: false; }; }; runWithinTransaction({ params }: { params: ParamsFrom<GroupCreate>; }): Promise<{ group: { id: string; name: string; modelId: string; modelName: string; rules: import("../models/Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }; }>; } export declare class GroupEdit extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; readonly name: { readonly required: false; }; readonly matchType: { readonly required: false; }; readonly rules: { readonly required: false; readonly formatter: typeof APIData.ensureArray; }; }; runWithinTransaction({ params }: { params: ParamsFrom<GroupEdit>; }): Promise<{ group: { id: string; name: string; modelId: string; modelName: string; rules: import("../models/Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }; }>; } export declare class GroupRun extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; }; runWithinTransaction({ params }: { params: ParamsFrom<GroupRun>; }): Promise<{ success: boolean; }>; } export declare class GroupView extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; }; runWithinTransaction({ params }: { params: ParamsFrom<GroupView>; }): Promise<{ group: { id: string; name: string; modelId: string; modelName: string; rules: import("../models/Group").GroupRuleWithKey[]; matchType: "all" | "any"; state: "ready" | "draft" | "deleted" | "initializing" | "updating"; locked: string; recordsCount: number; createdAt: number; updatedAt: number; nextCalculatedAt: number; calculatedAt: number; }; }>; } export declare class GroupCountComponentMembers extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; readonly rules: { readonly required: false; readonly formatter: typeof APIData.ensureArray; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<GroupCountComponentMembers>; }): Promise<{ componentCounts: number[]; funnelCounts: number[]; }>; } export declare class GroupCountPotentialMembers extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; readonly rules: { readonly required: false; readonly formatter: typeof APIData.ensureArray; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<GroupCountPotentialMembers>; }): Promise<{ count: number; }>; } export declare class GroupListDestinations extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; }; runWithinTransaction({ params, }: { params: ParamsFrom<GroupListDestinations>; }): Promise<{ total: number; destinations: { 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("..").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("../models/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("../models/Destination").SimpleDestinationGroupMembership[]; createdAt: number; updatedAt: number; exportTotals: { failed: number; canceled: number; complete: number; pending: number; draft: number; processing: number; }; }[]; }>; } export declare class GroupDestroy extends AuthenticatedAction { name: string; description: string; outputExample: {}; permission: ActionPermission; inputs: { readonly id: { readonly required: true; }; readonly force: { readonly required: true; readonly default: false; readonly formatter: typeof APIData.ensureBoolean; }; }; runWithinTransaction({ params }: { params: ParamsFrom<GroupDestroy>; }): Promise<{ success: boolean; }>; }