UNPKG

@grouparoo/core

Version:
60 lines (59 loc) 2.44 kB
import { Group, GroupRuleWithKey } from "../../models/Group"; import { Run } from "../../models/Run"; import { GrouparooRecord } from "../../models/GrouparooRecord"; import { Import } from "../../models/Import"; export declare namespace GroupOps { /** * Given a GrouparooRecord, create an import to recalculate its Group Membership. */ function updateRecords(recordIds: string[], creatorType: Import["creatorType"], creatorId: string, destinationId?: string): Promise<Import[]>; /** * Check if the record should be in this Group */ function updateRecordsMembership(group: Group, records: GrouparooRecord[]): Promise<{ [recordId: string]: boolean; }>; /** * Count the members that would be in this group */ function countPotentialMembers(group: Group, rules?: GroupRuleWithKey[], matchType?: "any" | "all"): Promise<number>; /** * Take the rules for the group and check how many group members there would have been both individually for each single rule, and then by building up the query step-by-step */ function countComponentMembersFromRules(group: Group, rules?: GroupRuleWithKey[]): Promise<{ componentCounts: number[]; funnelCounts: number[]; }>; /** * Part 1 of the Group Run * Add New Members */ function runAddGroupMembers(group: Group, run: Run, limit?: number, offset?: number, highWaterMark?: number, destinationId?: string): Promise<{ groupMembersCount: number; nextHighWaterMark: number; nextOffset: number; }>; /** * Part 2 of the Group Run * Remove Members */ function runRemoveGroupMembers(group: Group, run: Run, limit?: number, destinationId?: string): Promise<number>; /** * Part 3 for the Group Run * Check if there was anyone we should have removed from a previous Run that was stopped for this Run */ function removePreviousRunGroupMembers(group: Group, run: Run, limit?: number): Promise<number>; /** * Determine if these Group Rules are equal */ function rulesAreEqual(oldRules: GroupRuleWithKey[], newRules: GroupRuleWithKey[]): boolean; /** * Get a list of all groups and when the newest member was added */ function newestGroupMembers(limit?: number): Promise<{ groups: Group[]; newestMembersAdded: { [id: string]: number; }; }>; }