Member Junction
    Preparing search index...

    Implementation of the Expo push-notification provider for MemberJunction's Communication framework. Sends mobile push notifications to Expo push tokens via the Expo Push API using a simple HTTPS POST (no SDK dependency).

    Push notifications are a fire-and-forget, send-only channel. Consequently this provider implements only SendSingleMessage; the mailbox-style operations (GetMessages, ForwardMessage, ReplyToMessage, CreateDraft) return a "not supported" result, consistent with the base-class contract.

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get MessageRetrieval(): MessageRetrievalCapabilities

      What this provider can narrow on when reading messages. See MessageRetrievalCapabilities.

      Deliberately declares nothing supported. A provider that can push a filter down overrides this and says so; one that has not been updated keeps describing itself accurately instead of promising a filter it silently ignores.

      Returns MessageRetrievalCapabilities

    • get ProviderName(): string

      Returns the name of this provider for use in error messages. Override in subclasses to provide a more descriptive name.

      Returns string

    • get SupportsPush(): boolean

      Convenience gate: true when this provider supports inbound push in ANY form (subscription-managed or inbound-parse), false otherwise. Lets callers cleanly short-circuit — if (provider.SupportsPush) { ... } — instead of probing individual operations.

      Derived from GetSubscriptionCapabilities so it stays in lockstep with actual capability: providers that support push return capabilities and thereby report SupportsPush === true for free; providers that don't return undefined and report false. Subclasses normally do NOT override this — override GetSubscriptionCapabilities instead.

      Returns boolean

    Methods

    • Reads calendar events for one identifier.

      CONCRETE, NOT ABSTRACT, and deliberately so: making it abstract would break every existing provider at compile time for a capability most of them will never have. A provider that supports it overrides this and adds 'GetEvents' to getSupportedOperations(); everything else inherits a refusal that NAMES ITSELF, so a caller learns which provider declined rather than receiving an empty list it cannot distinguish from an empty calendar.

      That distinction is the whole reason this returns Success:false rather than {Events: []}. "This provider cannot look" and "there was nothing in the window" are different facts, and a caller advancing a watermark must not treat the first as the second.

      Parameters

      Returns Promise<GetEventsResult<Record<string, any>>>

    • Returns this provider's subscription capabilities, or undefined when subscriptions are not supported. Consumers use this to schedule renewals and validate change types generically. Override in subclasses that support subscriptions.

      INVARIANT: returning a defined value here REQUIRES the four subscription operations to appear in getSupportedOperations.

      Returns SubscriptionCapabilities

      SubscriptionCapabilities when supported, otherwise undefined