Options
All
  • Public
  • Public/Protected
  • All
Menu

@grouparoo/core

Index

Modules

Namespaces

Classes

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

CacheKey

CacheKey: {} | Array<CacheKey> | string | number | boolean | Date

DestinationMappingOptionsResponseTypes

DestinationMappingOptionsResponseTypes: "any" | "boolean" | "date" | "email" | "float" | "integer" | "number" | "phoneNumber" | "string" | "url"

ExportArrayPropertiesMethodResponse

ExportArrayPropertiesMethodResponse: Array<string>

PluginOptionTypes

PluginOptionTypes: "string" | "list" | "typeahead" | "pending"

ProfilePropertyPluginMethodResponse

ProfilePropertyPluginMethodResponse: Array<string | number | boolean | Date>

Variables

Const CACHE_KEY

CACHE_KEY: "grouparoo:profilePropertyRules" = `grouparoo:profilePropertyRules`

Const CACHE_TTL

CACHE_TTL: number = env === "test" ? -1 : 1000 * 30

Const DEFAULT_MIME_TYPE

DEFAULT_MIME_TYPE: "application/octet-stream" = "application/octet-stream"

Const GROUP_RULE_LIMIT

GROUP_RULE_LIMIT: 10 = 10

Const LOCK_DURATION_MS

LOCK_DURATION_MS: number = RETRY_SLEEP * MAX_ATTEMPTS + 1

Const MAX_ATTEMPTS

MAX_ATTEMPTS: 300 = 300

Const ProfilePropertyRuleTypes

ProfilePropertyRuleTypes: string[] = ["boolean","date","email","float","integer","phoneNumber","string","url",]

Const RETRY_SLEEP

RETRY_SLEEP: 100 = 100

Const SALT_ROUNDS

SALT_ROUNDS: 10 = 10

Const STATES

STATES: ["draft", "ready"] = ["draft", "ready"] as const

Const STATE_TRANSITIONS

STATE_TRANSITIONS: { checks: string[]; from: string; to: string }[] = [{ from: "draft", to: "ready", checks: ["validateOptions"] },]

Const TopLevelGroupRules

TopLevelGroupRules: { column: string; key: string; type: string }[] = [{ key: "guid", column: "guid", type: "string" },{ key: "createdAt", column: "createdAt", type: "date" },]

Const _boolean_ops

_boolean_ops: { description: string; op: string }[] = [{ op: "exists", description: "exists with any value" },{ op: "notExists", description: "does not exist" },{ op: "eq", description: "is equal to" },{ op: "ne", description: "is not equal to" },]

Const _date_ops

_date_ops: { description: string; op: string }[] = [{ op: "exists", description: "exists with any value" },{ op: "notExists", description: "does not exist" },{ op: "eq", description: "is equal to" },{ op: "ne", description: "is not equal to" },{ op: "gt", description: "is after" },{ op: "lt", description: "is before" },{ op: "gte", description: "is on or after" },{ op: "lte", description: "is on or before" },{ op: "relative_gt", description: "is in the past" },{ op: "relative_lt", description: "is in the future" },]

Const _number_ops

_number_ops: { description: string; op: string }[] = [{ op: "exists", description: "exists with any value" },{ op: "notExists", description: "does not exist" },{ op: "eq", description: "is equal to" },{ op: "ne", description: "is not equal to" },{ op: "gt", description: "is greater than" },{ op: "lt", description: "is less than" },{ op: "gte", description: "is greater than or equal to" },{ op: "lte", description: "is less than or equal to" },]

Const _string_ops

_string_ops: { description: string; op: string }[] = [{ op: "exists", description: "exists with any value" },{ op: "notExists", description: "does not exist" },{ op: "eq", description: "is equal to" },{ op: "ne", description: "is not equal to" },{ op: "like", description: "is like" },{ op: "iLike", description: "is like (case insensitive)" },{ op: "notLike", description: "is not like (case insensitive)" },{ op: "notILike", description: "is not like (case insensitive)" },{ op: "startsWith", description: "starts with" },{ op: "endsWith", description: "ends with" },{ op: "substring", description: "includes the string" },]

Const campaign

campaign: string = `v${packageJSON.version}`

Const coreVersion

coreVersion: any = PluginDetails.getCoreVersion()

Const databaseBaseName

databaseBaseName: "grouparoo" = "grouparoo"

Let db

db: string = process.env.REDIS_DB || process.env.JEST_WORKER_ID || "0"

Const env

env: string = process.env.NODE_ENV || "development"

Const eventProfilePropertyRuleOptions

eventProfilePropertyRuleOptions: PluginConnectionProfilePropertyRuleOption[] = [{key: "column",required: true,description: "where the data comes from",type: "typeahead",options: eventProfilePropertyRuleOptionOptions,},{key: "aggregation method",required: true,description: "how we combine the data",type: "list",options: async () => {return [{key: "all values",description:"collect all values from all events (use with an array profile property)",},{key: "most recent value",description: "use the value of the newest event",},{key: "least recent value",description: "use the value of the oldest event",},{ key: "avg", description: "take the average" },{ key: "count", description: "count the occurrences" },{ key: "sum", description: "add it up" },{ key: "min", description: "find the smallest value" },{ key: "max", description: "find the largest value" },];},},]

Const fs

fs: "fs" = require("fs")

Const groupTypes

groupTypes: ["calculated", "manual"] = ["calculated", "manual"] as const

Const grouparooMonorepoApp

grouparooMonorepoApp: string = process.env.GROUPAROO_MONOREPO_APP

Const host

host: "https://telemetry.grouparoo.com" = "https://telemetry.grouparoo.com"

Const localNodeModulesPath

localNodeModulesPath: string = path.join(path.dirname(require.resolve("react/package.json")),"..")

Const matchTypes

matchTypes: ["any", "all"] = ["any", "all"] as const

Const maxBackoff

maxBackoff: 1000 = 1000

Const medium

medium: "app" = "app"

Const method

method: "POST" = "POST"

Const models

models: (Log | ProfilePropertyRule | ProfileProperty | Destination | Source | Mapping | Export | Run | ExportRun | ExportImport | Import | Group | DestinationGroupMembership | App | Option | ProfilePropertyRuleFilter | GroupRule | Setting | GroupMember | ProfileMultipleAssociationShim | Event | EventData | Permission | ApiKey | Team | TeamMember | Schedule | File | SetupStep)[] = [App,ApiKey,Source,Schedule,Destination,DestinationGroupMembership,Option,Import,Event,EventData,ExportImport,ExportRun,Run,Export,File,GroupMember,Group,GroupRule,Log,Permission,Profile,ProfileProperty,ProfilePropertyRule,ProfilePropertyRuleFilter,ProfileMultipleAssociationShim,Mapping,Setting,SetupStep,Team,TeamMember,]

Const numbers

numbers: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Const os

os: any = require("os")

Const packageJSON

packageJSON: any = require(path.join(__dirname,"..","..","..","package.json"))

Const parentPlugins

parentPlugins: {}

Type declaration

Let password

password: string = process.env.REDIS_PASSWORD || null

Const path

path: any = require("path")

Const pluginManifest

pluginManifest: { plugins: undefined[]; parent: object } = PluginDetails.getPluginManifest()

Type declaration

  • plugins: undefined[]
  • parent: object
    • path: null
    • grouparoo: object
      • plugins: undefined[]

Let plugins

plugins: {}

Type declaration

Let port

port: string | number = process.env.REDIS_PORT || 6379

Const route

route: "/api/v1/subscribers" = "/api/v1/subscribers"

Const settingTypes

settingTypes: ["string", "number", "boolean"] = ["string", "number", "boolean"] as const

Const source

source: string = `${packageJSON.name}`

Functions

GrouparooErrorSerializer

  • GrouparooErrorSerializer(error: any): { code: any; fields: any[]; message: string }
  • Parameters

    • error: any

    Returns { code: any; fields: any[]; message: string }

    • code: any
    • fields: any[]
    • message: string

GrouparooSubscription

  • GrouparooSubscription(teamMember: TeamMember): Promise<void>
  • We want this run "in-thread" but not to be blocking. We cannot rely on tasks, as the user may not be running them. We also want to allow for this method to fail, and not block anything else in the server.

    Parameters

    Returns Promise<void>

addEventsApp

  • addEventsApp(): Promise<void>
  • Returns Promise<void>

buildConsoleLogger

  • buildConsoleLogger(level?: string): (Anonymous function)
  • Parameters

    • Default value level: string = "info"

    Returns (Anonymous function)

buildFileLogger

  • buildFileLogger(path: any, level?: string, maxFiles?: any): (Anonymous function)
  • Parameters

    • path: any
    • Default value level: string = "info"
    • Default value maxFiles: any = undefined

    Returns (Anonymous function)

deepStrictEqualBoolean

  • deepStrictEqualBoolean(a: any, b: any): boolean
  • Parameters

    • a: any
    • b: any

    Returns boolean

Const eventProfileProperty

Const eventProfilePropertyRuleOptionOptions

  • eventProfilePropertyRuleOptionOptions(args: any): Promise<{ examples: any[]; key: string }[]>
  • Parameters

    • args: any

    Returns Promise<{ examples: any[]; key: string }[]>

Const eventSourceFilters

Const eventSourceOptions

Const eventSourcePreview

  • eventSourcePreview(__namedParameters: { sourceOptions: SimpleSourceOptions }): Promise<any[]>

formatEmail

  • formatEmail(email: string): string
  • Parameters

    • email: string

    Returns string

formatPhoneNumber

  • formatPhoneNumber(number: string): Promise<string>
  • Parameters

    • number: string

    Returns Promise<string>

formatURL

  • formatURL(url: string): string
  • Parameters

    • url: string

    Returns string

getCacheValue

  • getCacheValue(__namedParameters: { read: any; valueKey: any }): Promise<{ cached: boolean; value: any }>
  • Parameters

    • __namedParameters: { read: any; valueKey: any }
      • read: any
      • valueKey: any

    Returns Promise<{ cached: boolean; value: any }>

getCoreRootPath

  • getCoreRootPath(): string
  • Returns string

getCoreVersion

  • getCoreVersion(): any
  • Returns any

getLatestNPMVersion

  • getLatestNPMVersion(plugin: PluginWithVersion, tag?: string): Promise<{ name: string; version: string }>
  • Parameters

    Returns Promise<{ name: string; version: string }>

getNodeVersion

  • getNodeVersion(): string
  • Returns string

getParentPath

  • getParentPath(): string
  • Returns string

getPluginManifest

  • getPluginManifest(): { plugins: undefined[]; parent: object }
  • Returns { plugins: undefined[]; parent: object }

    • plugins: undefined[]
    • parent: object
      • path: null
      • grouparoo: object
        • plugins: undefined[]

groupExportToCSV

  • groupExportToCSV(group: Group, limit?: number): Promise<{ cleanName: string; filename: string; runGuid: string }>
  • Build a CSV file on this host which contains all profiles, properties, and groups

    Parameters

    • group: Group
    • Default value limit: number = 1000

    Returns Promise<{ cleanName: string; filename: string; runGuid: string }>

internalRun

  • internalRun(creatorType: string, creatorGuid: string): Promise<Run>
  • This method creates a new Run for internal use, ie: when you want to create a run due to a new profile property rule This method will enqueue a run which creates an import for every profile Enqueuing a new internal run will end any previous runs for the same creator type

    Parameters

    • creatorType: string
    • creatorGuid: string

    Returns Promise<Run>

isEmail

  • isEmail(string: string): boolean
  • While there are many more robust ways to validate an email, we have seen our customers use long domains or suffixes to map to internal tools, deactivated users, etc. We will only be validating that 1) there is an @ and 2) there is a . after the @.

    We cannot use import isEmail from "validator/lib/isEmail" until https://github.com/validatorjs/validator.js/pull/1435 is merged in.

    Parameters

    • string: string

    Returns boolean

main

  • main(): Promise<void>
  • Returns Promise<void>

makeBaseKey

  • makeBaseKey(__namedParameters: { cacheKey: any; objectGuid: any }): string
  • Parameters

    • __namedParameters: { cacheKey: any; objectGuid: any }
      • cacheKey: any
      • objectGuid: any

    Returns string

makeCacheString

  • makeCacheString(cacheKey: CacheKey): string
  • Parameters

    Returns string

makeObjectKey

  • makeObjectKey(__namedParameters: { objectGuid: any }): string
  • Parameters

    • __namedParameters: { objectGuid: any }
      • objectGuid: any

    Returns string

mergeMetrics

  • Parameters

    Returns any[]

modelName

  • modelName(instance: any): string
  • Parameters

    • instance: any

    Returns string

Const objectCache

  • objectCache(__namedParameters: { cacheDurationMs: number; cacheKey: CacheKey; lock: boolean; objectGuid: string; passthru: boolean; read: boolean; write: boolean }, methodToGetValue: () => Promise<any>): Promise<any>
  • Parameters

    • __namedParameters: { cacheDurationMs: number; cacheKey: CacheKey; lock: boolean; objectGuid: string; passthru: boolean; read: boolean; write: boolean }
      • cacheDurationMs: number
      • cacheKey: CacheKey
      • lock: boolean
      • objectGuid: string
      • passthru: boolean
      • read: boolean
      • write: boolean
    • methodToGetValue: () => Promise<any>
        • (): Promise<any>
        • Returns Promise<any>

    Returns Promise<any>

Const objectCacheInvalidate

  • objectCacheInvalidate(__namedParameters: { objectGuid: string }): Promise<void>
  • Parameters

    • __namedParameters: { objectGuid: string }
      • objectGuid: string

    Returns Promise<void>

pluginVersions

  • pluginVersions(): Promise<{ latestVersion: string; license: string; name: string; url: string; version: string }[]>
  • Returns Promise<{ latestVersion: string; license: string; name: string; url: string; version: string }[]>

profilePropertyRuleJSToSQLType

  • profilePropertyRuleJSToSQLType(jsType: string): any
  • Parameters

    • jsType: string

    Returns any

Const randomBytesAsync

  • randomBytesAsync(bytes?: number): Promise<string>
  • Parameters

    • Default value bytes: number = 64

    Returns Promise<string>

readPackageJson

  • readPackageJson(path: any): any
  • Parameters

    • path: any

    Returns any

runningCoreDirectly

  • runningCoreDirectly(): boolean
  • Returns boolean

sleep

  • sleep(sleepTime: number): Promise<unknown>
  • Parameters

    • sleepTime: number

    Returns Promise<unknown>

stringifyExtraMessagePropertiesForConsole

  • stringifyExtraMessagePropertiesForConsole(info: any): string
  • Parameters

    • info: any

    Returns string

useRedis

  • useRedis(): boolean
  • Returns boolean

validateMustacheVariables

  • validateMustacheVariables(string: any, data: any): void
  • Parameters

    • string: any
    • data: any

    Returns void

waitForLock

  • waitForLock(key: string, requestId?: string, ttl?: number, attempts?: number, sleepTime?: number): Promise<{ attempts: number; releaseLock: Function }>
  • Parameters

    • key: string
    • Default value requestId: string = uuid.v4()
    • Default value ttl: number = LOCK_DURATION_MS
    • Default value attempts: number = 0
    • Default value sleepTime: number = RETRY_SLEEP

    Returns Promise<{ attempts: number; releaseLock: Function }>

Object literals

Const DEFAULT

DEFAULT: object

errors

  • errors(config: any): { _toExpand: boolean; connectionAlreadyInRoom: any; connectionNotInRoom: any; connectionRoomAndMessage: any; connectionRoomExists: any; connectionRoomHasBeenDeleted: any; connectionRoomNotExist: any; connectionRoomRequired: any; fileNotFound: any; fileNotProvided: any; fileReadError: any; genericError: any; invalidParams: any; missingParams: any; serverShuttingDown: any; tooManyPendingActions: any; unknownAction: any; unsupportedServerType: any; verbNotAllowed: any; verbNotFound: any; serializers: object }
  • Parameters

    • config: any

    Returns { _toExpand: boolean; connectionAlreadyInRoom: any; connectionNotInRoom: any; connectionRoomAndMessage: any; connectionRoomExists: any; connectionRoomHasBeenDeleted: any; connectionRoomNotExist: any; connectionRoomRequired: any; fileNotFound: any; fileNotProvided: any; fileReadError: any; genericError: any; invalidParams: any; missingParams: any; serverShuttingDown: any; tooManyPendingActions: any; unknownAction: any; unsupportedServerType: any; verbNotAllowed: any; verbNotFound: any; serializers: object }

    • _toExpand: boolean
    • connectionAlreadyInRoom: function
      • connectionAlreadyInRoom(connection: any, room: any): any
      • Parameters

        • connection: any
        • room: any

        Returns any

    • connectionNotInRoom: function
      • connectionNotInRoom(connection: any, room: any): any
      • Parameters

        • connection: any
        • room: any

        Returns any

    • connectionRoomAndMessage: function
      • connectionRoomAndMessage(connection: any): any
      • Parameters

        • connection: any

        Returns any

    • connectionRoomExists: function
      • connectionRoomExists(room: any): string
      • Parameters

        • room: any

        Returns string

    • connectionRoomHasBeenDeleted: function
      • connectionRoomHasBeenDeleted(room: any): string
      • Parameters

        • room: any

        Returns string

    • connectionRoomNotExist: function
      • connectionRoomNotExist(room: any): string
      • Parameters

        • room: any

        Returns string

    • connectionRoomRequired: function
      • connectionRoomRequired(room: any): string
      • Parameters

        • room: any

        Returns string

    • fileNotFound: function
      • fileNotFound(connection: any): any
      • Parameters

        • connection: any

        Returns any

    • fileNotProvided: function
      • fileNotProvided(connection: any): any
      • Parameters

        • connection: any

        Returns any

    • fileReadError: function
      • fileReadError(connection: any, error: any): any
      • Parameters

        • connection: any
        • error: any

        Returns any

    • genericError: function
      • genericError(data: any, error: any): Promise<any>
      • Parameters

        • data: any
        • error: any

        Returns Promise<any>

    • invalidParams: function
      • invalidParams(data: any, validationErrors: any): any
      • Parameters

        • data: any
        • validationErrors: any

        Returns any

    • missingParams: function
      • missingParams(data: any, missingParams: any): any
      • Parameters

        • data: any
        • missingParams: any

        Returns any

    • serverShuttingDown: function
      • serverShuttingDown(data: any): any
      • Parameters

        • data: any

        Returns any

    • tooManyPendingActions: function
      • tooManyPendingActions(data: any): any
      • Parameters

        • data: any

        Returns any

    • unknownAction: function
      • unknownAction(data: any): any
      • Parameters

        • data: any

        Returns any

    • unsupportedServerType: function
      • unsupportedServerType(data: any): any
      • Parameters

        • data: any

        Returns any

    • verbNotAllowed: function
      • verbNotAllowed(connection: any, verb: any): any
      • Parameters

        • connection: any
        • verb: any

        Returns any

    • verbNotFound: function
      • verbNotFound(connection: any, verb: any): any
      • Parameters

        • connection: any
        • verb: any

        Returns any

    • serializers: object

general

  • general(config: any): { apiVersion: any; cachePrefix: string; channel: string; cliIncludeInternal: boolean; defaultMiddlewarePriority: number; directoryFileType: string; disableParamScrubbing: boolean; enableResponseLogging: boolean; enforceConnectionProperties: boolean; fileRequestLogLevel: string; filteredParams: string[]; lockDuration: number; lockPrefix: string; missingParamChecks: string[]; rpcTimeout: number; serverName: any; serverToken: string; simultaneousActions: number; paths: object; startingChatRooms: object }
  • Parameters

    • config: any

    Returns { apiVersion: any; cachePrefix: string; channel: string; cliIncludeInternal: boolean; defaultMiddlewarePriority: number; directoryFileType: string; disableParamScrubbing: boolean; enableResponseLogging: boolean; enforceConnectionProperties: boolean; fileRequestLogLevel: string; filteredParams: string[]; lockDuration: number; lockPrefix: string; missingParamChecks: string[]; rpcTimeout: number; serverName: any; serverToken: string; simultaneousActions: number; paths: object; startingChatRooms: object }

    • apiVersion: any
    • cachePrefix: string
    • channel: string
    • cliIncludeInternal: boolean
    • defaultMiddlewarePriority: number
    • directoryFileType: string
    • disableParamScrubbing: boolean
    • enableResponseLogging: boolean
    • enforceConnectionProperties: boolean
    • fileRequestLogLevel: string
    • filteredParams: string[]
    • lockDuration: number
    • lockPrefix: string
    • missingParamChecks: string[]
    • rpcTimeout: number
    • serverName: any
    • serverToken: string
    • simultaneousActions: number
    • paths: object
      • action: any[]
      • cli: any[]
      • dist: any
      • initializer: any[]
      • locale: any[]
      • log: any[]
      • next: any[]
      • pid: any[]
      • plugin: any[]
      • public: any[]
      • server: any[]
      • src: any
      • task: any[]
      • test: any[]
    • startingChatRooms: object
      • model:event: {}
      • model:group: {}
      • model:log: {}
      • model:profile: {}
      • model:run: {}

i18n

  • i18n(config: any): { defaultLocale: string; determineConnectionLocale: string; fallbacks: {}; locales: string[]; objectNotation: boolean; updateFiles: boolean }
  • Parameters

    • config: any

    Returns { defaultLocale: string; determineConnectionLocale: string; fallbacks: {}; locales: string[]; objectNotation: boolean; updateFiles: boolean }

    • defaultLocale: string
    • determineConnectionLocale: string
    • fallbacks: {}
    • locales: string[]
    • objectNotation: boolean
    • updateFiles: boolean

logger

  • logger(config: any): { loggers: any[]; maxLogStringLength: number }
  • Parameters

    • config: any

    Returns { loggers: any[]; maxLogStringLength: number }

    • loggers: any[]
    • maxLogStringLength: number

next

  • next(): { dev: boolean; enabled: boolean; quiet: boolean }
  • Returns { dev: boolean; enabled: boolean; quiet: boolean }

    • dev: boolean
    • enabled: boolean
    • quiet: boolean

plugins

  • plugins(): { ah-next-plugin: object; ah-sequelize-plugin: object }
  • Returns { ah-next-plugin: object; ah-sequelize-plugin: object }

    • ah-next-plugin: object
      • path: string
    • ah-sequelize-plugin: object
      • path: string

redis

  • redis(config: any): { _toExpand: boolean; enabled: boolean; client: object; subscriber: object; tasks: object }
  • Parameters

    • config: any

    Returns { _toExpand: boolean; enabled: boolean; client: object; subscriber: object; tasks: object }

    • _toExpand: boolean
    • enabled: boolean
    • client: object
      • args: { db: number; host: string; password: string; port: string | number; retryStrategy: any }[]
      • buildNew: boolean
      • konstructor: any
    • subscriber: object
      • args: { db: number; host: string; password: string; port: string | number; retryStrategy: any }[]
      • buildNew: boolean
      • konstructor: any
    • tasks: object
      • args: { db: number; host: string; password: string; port: string | number; retryStrategy: any }[]
      • buildNew: boolean
      • konstructor: any

routes

  • routes(api: any): { delete: { action: string; path: string }[]; get: { action: string; path: string }[]; post: { action: string; path: string }[]; put: { action: string; path: string }[] }
  • Parameters

    • api: any

    Returns { delete: { action: string; path: string }[]; get: { action: string; path: string }[]; post: { action: string; path: string }[]; put: { action: string; path: string }[] }

    • delete: { action: string; path: string }[]
    • get: { action: string; path: string }[]
    • post: { action: string; path: string }[]
    • put: { action: string; path: string }[]

sequelize

  • sequelize(config: any): { autoMigrate: boolean; database: string; dialect: string; host: string; logging: boolean; migrations: string[]; models: string[]; password: string; port: number; username: string; dialectOptions: object; pool: object }
  • Parameters

    • config: any

    Returns { autoMigrate: boolean; database: string; dialect: string; host: string; logging: boolean; migrations: string[]; models: string[]; password: string; port: number; username: string; dialectOptions: object; pool: object }

    • autoMigrate: boolean
    • database: string
    • dialect: string
    • host: string
    • logging: boolean
    • migrations: string[]
    • models: string[]
    • password: string
    • port: number
    • username: string
    • dialectOptions: object
      • ssl: false | true | {}
    • pool: object
      • acquire: number
      • idle: number
      • max: number
      • min: number

tasks

  • tasks(config: any): { _toExpand: boolean; checkTimeout: number; maxEventLoopDelay: number; maxTaskProcessors: number; minTaskProcessors: number; retryStuckJobs: boolean; scheduler: boolean; stuckWorkerTimeout: number; timeout: number; queues: any; connectionOptions: object; resque_overrides: object; schedulerLogging: object; workerLogging: object }
  • Parameters

    • config: any

    Returns { _toExpand: boolean; checkTimeout: number; maxEventLoopDelay: number; maxTaskProcessors: number; minTaskProcessors: number; retryStuckJobs: boolean; scheduler: boolean; stuckWorkerTimeout: number; timeout: number; queues: any; connectionOptions: object; resque_overrides: object; schedulerLogging: object; workerLogging: object }

    • _toExpand: boolean
    • checkTimeout: number
    • maxEventLoopDelay: number
    • maxTaskProcessors: number
    • minTaskProcessors: number
    • retryStuckJobs: boolean
    • scheduler: boolean
    • stuckWorkerTimeout: number
    • timeout: number
    • queues: function
      • queues(): Promise<any[]>
      • Returns Promise<any[]>

    • connectionOptions: object
      • tasks: {}
    • resque_overrides: object
      • multiWorker: null
      • queue: null
      • scheduler: null
    • schedulerLogging: object
      • end: string
      • enqueue: string
      • poll: string
      • reEnqueue: string
      • start: string
      • transferred_job: string
      • working_timestamp: string
    • workerLogging: object
      • cleaning_worker: string
      • end: string
      • failure: string
      • internalError: string
      • job: string
      • multiWorkerAction: string
      • pause: string
      • poll: string
      • start: string
      • success: string

telemetry

  • telemetry(): { enabled: boolean; url: string }
  • Returns { enabled: boolean; url: string }

    • enabled: boolean
    • url: string

servers

servers: object

web

  • web(config: any): { allowedRequestHosts: string[]; bindIP: string; bootAttempts: number; compress: boolean; enableEtag: boolean; enabled: boolean; flatFileCacheDuration: number; padding: number; port: string | number; queryParseOptions: {}; queryRouting: boolean; returnErrorCodes: boolean; rootEndpointType: string; saveRawBody: boolean; secure: boolean; serverOptions: {}; simpleRouting: boolean; urlPathForActions: string; urlPathForFiles: string; fingerprintOptions: object; formOptions: object; httpHeaders: object; metadataOptions: object }
  • Parameters

    • config: any

    Returns { allowedRequestHosts: string[]; bindIP: string; bootAttempts: number; compress: boolean; enableEtag: boolean; enabled: boolean; flatFileCacheDuration: number; padding: number; port: string | number; queryParseOptions: {}; queryRouting: boolean; returnErrorCodes: boolean; rootEndpointType: string; saveRawBody: boolean; secure: boolean; serverOptions: {}; simpleRouting: boolean; urlPathForActions: string; urlPathForFiles: string; fingerprintOptions: object; formOptions: object; httpHeaders: object; metadataOptions: object }

    • allowedRequestHosts: string[]
    • bindIP: string
    • bootAttempts: number
    • compress: boolean
    • enableEtag: boolean
    • enabled: boolean
    • flatFileCacheDuration: number
    • padding: number
    • port: string | number
    • queryParseOptions: {}
    • queryRouting: boolean
    • returnErrorCodes: boolean
    • rootEndpointType: string
    • saveRawBody: boolean
    • secure: boolean
    • serverOptions: {}
    • simpleRouting: boolean
    • urlPathForActions: string
    • urlPathForFiles: string
    • fingerprintOptions: object
      • cookieKey: string
      • onlyStaticElements: boolean
      • toSetCookie: boolean
      • settings: object
        • expires: number
        • path: string
    • formOptions: object
      • keepExtensions: boolean
      • maxFieldsSize: number
      • maxFileSize: number
      • uploadDir: any
    • httpHeaders: object
      • Access-Control-Allow-Credentials: boolean
      • Access-Control-Allow-Headers: string
      • Access-Control-Allow-Methods: string
      • Access-Control-Allow-Origin: string
      • Cache-Control: string
      • Strict-Transport-Security: string
      • X-Powered-By: any
    • metadataOptions: object
      • requesterInformation: boolean
      • serverInformation: boolean

websocket

  • websocket(config: any): { clientJsName: string; clientJsPath: string; clientUrl: string; destroyClientsOnShutdown: boolean; enabled: boolean; server: {}; client: object }
  • Parameters

    • config: any

    Returns { clientJsName: string; clientJsPath: string; clientUrl: string; destroyClientsOnShutdown: boolean; enabled: boolean; server: {}; client: object }

    • clientJsName: string
    • clientJsPath: string
    • clientUrl: string
    • destroyClientsOnShutdown: boolean
    • enabled: boolean
    • server: {}
    • client: object
      • apiPath: string
      • cookieKey: any

Const ProfilePropertyRuleOpsDictionary

ProfilePropertyRuleOpsDictionary: object

_relativeMatchUnits

_relativeMatchUnits: string[] = ["days", "weeks", "months", "quarters", "years"]

boolean

boolean: { description: string; op: string }[] = _boolean_ops

date

date: { description: string; op: string }[] = _date_ops

email

email: { description: string; op: string }[] = _string_ops

float

float: { description: string; op: string }[] = _number_ops

integer

integer: { description: string; op: string }[] = _number_ops

phoneNumber

phoneNumber: { description: string; op: string }[] = _string_ops

string

string: { description: string; op: string }[] = _string_ops

url

url: { description: string; op: string }[] = _string_ops

_convenientRules

_convenientRules: object

exists

exists: object

match

match: string = "null"

operation

operation: object

op

op: string = "ne"

notExists

notExists: object

match

match: string = "null"

operation

operation: object

op

op: string = "eq"

relative_gt

relative_gt: object

relativeMatchDirection

relativeMatchDirection: string = "subtract"

operation

operation: object

op

op: string = "gt"

relative_lt

relative_lt: object

relativeMatchDirection

relativeMatchDirection: string = "add"

operation

operation: object

op

op: string = "lt"

Const authenticatedActionMiddleware

authenticatedActionMiddleware: object

global

global: false = false

name

name: string = "authenticated-action"

priority

priority: number = 1000

preProcessor

  • preProcessor(data: any): Promise<void>
  • Parameters

    • data: any

    Returns Promise<void>

Const destinationTypeConversions

destinationTypeConversions: object

List of conversions from Grouparoo Types to Destination Types In many cases, we can do conversions, ie: 'integer' or 'float' to 'number' or there are cast-able representations in other types, like 'integer' to 'string'. Any conversion that's not listed here is not valid. Learn more at https://docs.google.com/spreadsheets/d/1Fbkdsq_IR8deOYF4QpVq_XIdqpvAah3tJbVP2K5nCdc

boolean

boolean: object

any

  • any(v: boolean): boolean
  • Parameters

    • v: boolean

    Returns boolean

boolean

  • boolean(v: boolean): boolean
  • Parameters

    • v: boolean

    Returns boolean

number

  • number(v: boolean): 0 | 1
  • Parameters

    • v: boolean

    Returns 0 | 1

string

  • string(v: boolean): string
  • Parameters

    • v: boolean

    Returns string

date

date: object

any

  • any(v: Date): Date
  • Parameters

    • v: Date

    Returns Date

date

  • date(v: Date): Date
  • Parameters

    • v: Date

    Returns Date

float

  • float(v: Date): number
  • Parameters

    • v: Date

    Returns number

integer

  • integer(v: Date): number
  • Parameters

    • v: Date

    Returns number

number

  • number(v: Date): number
  • Parameters

    • v: Date

    Returns number

string

  • string(v: Date): string
  • Parameters

    • v: Date

    Returns string

email

email: object

any

  • any(v: string): string
  • Parameters

    • v: string

    Returns string

email

  • email(v: string): string
  • Parameters

    • v: string

    Returns string

string

  • string(v: string): string
  • Parameters

    • v: string

    Returns string

float

float: object

any

  • any(v: number): number
  • Parameters

    • v: number

    Returns number

float

  • float(v: number): number
  • Parameters

    • v: number

    Returns number

number

  • number(v: number): number
  • Parameters

    • v: number

    Returns number

string

  • string(v: number): string
  • Parameters

    • v: number

    Returns string

integer

integer: object

any

  • any(v: number): number
  • Parameters

    • v: number

    Returns number

float

  • float(v: number): number
  • Parameters

    • v: number

    Returns number

integer

  • integer(v: number): number
  • Parameters

    • v: number

    Returns number

number

  • number(v: number): number
  • Parameters

    • v: number

    Returns number

string

  • string(v: number): string
  • Parameters

    • v: number

    Returns string

phoneNumber

phoneNumber: object

any

  • any(v: string): string
  • Parameters

    • v: string

    Returns string

phoneNumber

  • phoneNumber(v: string): string
  • Parameters

    • v: string

    Returns string

string

  • string(v: string): string
  • Parameters

    • v: string

    Returns string

string

string: object

any

  • any(v: string): string
  • Parameters

    • v: string

    Returns string

string

  • string(v: string): string
  • Parameters

    • v: string

    Returns string

url

url: object

any

  • any(v: string): string
  • Parameters

    • v: string

    Returns string

string

  • string(v: string): string
  • Parameters

    • v: string

    Returns string

url

  • url(v: string): string
  • Parameters

    • v: string

    Returns string

Const modelChatRoomMiddleware

modelChatRoomMiddleware: object

name

name: string = "model chat room middleware"

join

  • join(connection: Connection, room: string): Promise<void>
  • Parameters

    • connection: Connection
    • room: string

    Returns Promise<void>

Const optionallyAuthenticatedActionMiddleware

optionallyAuthenticatedActionMiddleware: object

global

global: false = false

name

name: string = "optionally-authenticated-action"

priority

priority: number = 1000

preProcessor

  • preProcessor(data: any): Promise<void>
  • Parameters

    • data: any

    Returns Promise<void>

Const production

production: object

general

  • general(config: any): { developmentMode: boolean; fileRequestLogLevel: string }
  • Parameters

    • config: any

    Returns { developmentMode: boolean; fileRequestLogLevel: string }

    • developmentMode: boolean
    • fileRequestLogLevel: string

servers

servers: object

web

  • web(config: any): { padding: null; metadataOptions: object }
  • Parameters

    • config: any

    Returns { padding: null; metadataOptions: object }

    • padding: null
    • metadataOptions: object
      • requesterInformation: boolean
      • serverInformation: boolean

Const test

test: object

general

  • general(config: any): { developmentMode: boolean; rpcTimeout: number; serverToken: string; paths: object; startingChatRooms: object }
  • Parameters

    • config: any

    Returns { developmentMode: boolean; rpcTimeout: number; serverToken: string; paths: object; startingChatRooms: object }

    • developmentMode: boolean
    • rpcTimeout: number
    • serverToken: string
    • paths: object
      • locale: any[]
    • startingChatRooms: object
      • defaultRoom: {}
      • otherRoom: {}

logger

  • logger(config: any): { loggers: any[] }
  • Parameters

    • config: any

    Returns { loggers: any[] }

    • loggers: any[]

tasks

  • tasks(config: any): { checkTimeout: number; queues: string[]; timeout: number }
  • Parameters

    • config: any

    Returns { checkTimeout: number; queues: string[]; timeout: number }

    • checkTimeout: number
    • queues: string[]
    • timeout: number

servers

servers: object

web

  • web(config: any): { matchExtensionMime: boolean; port: string | number; secure: boolean; metadataOptions: object }
  • Parameters

    • config: any

    Returns { matchExtensionMime: boolean; port: string | number; secure: boolean; metadataOptions: object }

    • matchExtensionMime: boolean
    • port: string | number
    • secure: boolean
    • metadataOptions: object
      • requesterInformation: boolean
      • serverInformation: boolean

Generated using TypeDoc