Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Sync

Index

Constructors

  • new Sync(options?: SyncOptions): Sync

Properties

errors: __module
integrations: {}

Type declaration

pipeline: __module

Methods

  • associate(integration: string, userCard: Contract<ContractData, {}>, credentials: any, context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }): Promise<Contract<ContractData, {}>>
  • summary

    Associate a user with an external OAuth service

    function

    Parameters

    • integration: string

      integration name

    • userCard: Contract<ContractData, {}>

      user to associate external token to

    • credentials: any

      external provider's api token

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    Returns Promise<Contract<ContractData, {}>>

    Upserted user card

  • authorize(integration: string, token: any, context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, options: { code: string; origin: string }): Promise<any>
  • summary

    Authorize a user with an external OAuth service

    function

    Parameters

    • integration: string

      integration name

    • token: any

      token details

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • options: { code: string; origin: string }

      options

      • code: string

        short lived OAuth code

      • origin: string

        The callback URL

    Returns Promise<any>

    external provider's access token

  • getActionContext(provider: string, workerContext: WorkerContext, context: any, session: string): { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }
  • Parameters

    • provider: string
    • workerContext: WorkerContext
    • context: any
    • session: string

    Returns { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

    • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
        • (id: string): Promise<null | Contract<ContractData, {}>>
        • Parameters

          • id: string

          Returns Promise<null | Contract<ContractData, {}>>

    • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
        • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
        • Parameters

          • type: string
          • mirrorId: string
          • options: { usePattern?: boolean } = {}
            • Optional usePattern?: boolean

          Returns Promise<Contract<ContractData, {}>>

    • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
        • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
        • Parameters

          • slug: string
          • usePrivilegedSession: boolean = false

          Returns Promise<null | Contract<ContractData, {}>>

    • getLocalUsername: (username: string) => string
        • (username: string): string
        • Parameters

          • username: string

          Returns string

    • getRemoteUsername: (username: string) => string
        • (username: string): string
        • Parameters

          • username: string

          Returns string

    • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
      • debug: (message: string, data: any) => void
          • (message: string, data: any): void
          • Parameters

            • message: string
            • data: any

            Returns void

      • error: (message: string, data: any) => void
          • (message: string, data: any): void
          • Parameters

            • message: string
            • data: any

            Returns void

      • exception: (message: string, error: any) => void
          • (message: string, error: any): void
          • Parameters

            • message: string
            • error: any

            Returns void

      • info: (message: string, data: any) => void
          • (message: string, data: any): void
          • Parameters

            • message: string
            • data: any

            Returns void

      • warn: (message: string, data: any) => void
          • (message: string, data: any): void
          • Parameters

            • message: string
            • data: any

            Returns void

    • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
        • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
        • Parameters

          • type: string
          • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
          • options: { actor?: string; originator?: string; timestamp?: Date }
            • Optional actor?: string
            • Optional originator?: string
            • Optional timestamp?: Date

          Returns Promise<Contract<ContractData, {}>>

  • getAssociateUrl(integration: string, token: any, slug: string, options: { origin: string }): null | string
  • summary

    Get an external authorize URL

    function

    Parameters

    • integration: string

      integration name

    • token: any

      token details

    • slug: string

      user slug

    • options: { origin: string }

      options

      • origin: string

        The callback URL

    Returns null | string

    Authorize URL

  • getExternalUserSyncEventData(context: any, integration: string, externalUser: any): Promise<any>
  • Parameters

    • context: any
    • integration: string
    • externalUser: any

    Returns Promise<any>

  • getFile(integration: string, token: any, file: string, context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, options: { actor: string }): Promise<null | Buffer>
  • summary

    Fetch a file synced in an external service

    function

    Parameters

    • integration: string

      integration name

    • token: any

      token details

    • file: string

      file id

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • options: { actor: string }

      options

      • actor: string

        actor id

    Returns Promise<null | Buffer>

    file

  • isValidEvent(integration: string, token: any, event: any, context: any): Promise<boolean>
  • summary

    Check if an external event request is valid

    function

    Parameters

    • integration: string

      integration name

    • token: any

      token details

    • event: any

      event

    • context: any

      logger context

    Returns Promise<boolean>

    whether the external event should be accepted or not

  • match(context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, integration: string, externalUser: any, options: { slug: string }): Promise<null | Contract<ContractData, {}>>
  • summary

    Gets local user matching the external user

    function

    Parameters

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • integration: string

      integration name

    • externalUser: any

      external user

    • options: { slug: string }

      options

      • slug: string

        slug to be used as a fallback to get a user

    Returns Promise<null | Contract<ContractData, {}>>

    external user

  • mirror(integration: string, token: any, card: Contract<ContractData, {}>, context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, options: { actor: string; defaultUser: string; origin: string }): Promise<Contract<ContractData, {}>[]>
  • summary

    Mirror back a card insert coming from Jellyfish

    function

    Parameters

    • integration: string

      integration name

    • token: any

      token details

    • card: Contract<ContractData, {}>

      action target card

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • options: { actor: string; defaultUser: string; origin: string }

      options

      • actor: string

        actor id

      • defaultUser: string
      • origin: string

    Returns Promise<Contract<ContractData, {}>[]>

    inserted cards

  • translate(integration: string, token: string, card: Contract<ContractData, {}>, context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, options: { actor: string; defaultUser: string; origin: string }): Promise<Contract<ContractData, {}>[]>
  • summary

    Translate an external event into Jellyfish

    function

    Parameters

    • integration: string

      integration name

    • token: string

      token details

    • card: Contract<ContractData, {}>

      action target card

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • options: { actor: string; defaultUser: string; origin: string }

      options

      • actor: string

        actor id

      • defaultUser: string
      • origin: string

    Returns Promise<Contract<ContractData, {}>[]>

    inserted cards

  • whoami(context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }, integration: string, credentials: any): Promise<any>
  • summary

    Gets external user

    function

    Parameters

    • context: { getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>; getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>; getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>; getLocalUsername: (username: string) => string; getRemoteUsername: (username: string) => string; log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }; upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>> }

      execution context

      • getElementById: (id: string) => Promise<null | Contract<ContractData, {}>>
          • (id: string): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • id: string

            Returns Promise<null | Contract<ContractData, {}>>

      • getElementByMirrorId: (type: string, mirrorId: string, options?: { usePattern?: boolean }) => Promise<Contract<ContractData, {}>>
          • (type: string, mirrorId: string, options?: { usePattern?: boolean }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • mirrorId: string
            • options: { usePattern?: boolean } = {}
              • Optional usePattern?: boolean

            Returns Promise<Contract<ContractData, {}>>

      • getElementBySlug: (slug: string, usePrivilegedSession?: boolean) => Promise<null | Contract<ContractData, {}>>
          • (slug: string, usePrivilegedSession?: boolean): Promise<null | Contract<ContractData, {}>>
          • Parameters

            • slug: string
            • usePrivilegedSession: boolean = false

            Returns Promise<null | Contract<ContractData, {}>>

      • getLocalUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • getRemoteUsername: (username: string) => string
          • (username: string): string
          • Parameters

            • username: string

            Returns string

      • log: { debug: (message: string, data: any) => void; error: (message: string, data: any) => void; exception: (message: string, error: any) => void; info: (message: string, data: any) => void; warn: (message: string, data: any) => void }
        • debug: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • error: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • exception: (message: string, error: any) => void
            • (message: string, error: any): void
            • Parameters

              • message: string
              • error: any

              Returns void

        • info: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

        • warn: (message: string, data: any) => void
            • (message: string, data: any): void
            • Parameters

              • message: string
              • data: any

              Returns void

      • upsertElement: (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }) => Promise<Contract<ContractData, {}>>
          • (type: string, object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }, options: { actor?: string; originator?: string; timestamp?: Date }): Promise<Contract<ContractData, {}>>
          • Parameters

            • type: string
            • object: Partial<Contract<ContractData, {}>> | { id: string; patch: Operation[]; type: string }
            • options: { actor?: string; originator?: string; timestamp?: Date }
              • Optional actor?: string
              • Optional originator?: string
              • Optional timestamp?: Date

            Returns Promise<Contract<ContractData, {}>>

    • integration: string

      integration name

    • credentials: any

      access token for external provider api

    Returns Promise<any>

    external user

Generated using TypeDoc