Magek Framework
    Preparing search index...

    Interface SessionStoreAdapter

    Interface for session store adapters that handle connection and subscription management for real-time features like GraphQL subscriptions and WebSocket connections.

    interface SessionStoreAdapter {
        storeConnection(
            config: MagekConfig,
            connectionId: UUID,
            connectionData: Record<string, any>,
        ): Promise<void>;
        fetchConnection(
            config: MagekConfig,
            connectionId: UUID,
        ): Promise<Record<string, any> | undefined>;
        deleteConnection(config: MagekConfig, connectionId: UUID): Promise<void>;
        storeSubscription(
            config: MagekConfig,
            connectionId: UUID,
            subscriptionId: UUID,
            subscriptionData: Record<string, any>,
        ): Promise<void>;
        fetchSubscription(
            config: MagekConfig,
            subscriptionId: UUID,
        ): Promise<Record<string, any> | undefined>;
        deleteSubscription(
            config: MagekConfig,
            connectionId: UUID,
            subscriptionId: UUID,
        ): Promise<void>;
        fetchSubscriptionsForConnection(
            config: MagekConfig,
            connectionId: UUID,
        ): Promise<Record<string, any>[]>;
        deleteSubscriptionsForConnection(
            config: MagekConfig,
            connectionId: UUID,
        ): Promise<void>;
        fetchSubscriptionsByClassName(
            config: MagekConfig,
            className: string,
        ): Promise<SubscriptionEnvelope[]>;
        healthCheck?: {
            isUp(config: MagekConfig): Promise<boolean>;
            details(config: MagekConfig): Promise<unknown>;
            urls(config: MagekConfig): Promise<string[]>;
        };
    }
    Index

    Methods

    • Establishes a new connection and stores connection metadata

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      • connectionData: Record<string, any>

        Metadata associated with the connection

      Returns Promise<void>

      A promise that resolves when the connection is established

    • Retrieves connection data for a specific connection

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      Returns Promise<Record<string, any> | undefined>

      A promise that resolves to the connection data, or undefined if not found

    • Stores subscription information for a connection

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      • subscriptionId: UUID

        Unique identifier for the subscription

      • subscriptionData: Record<string, any>

        Metadata associated with the subscription

      Returns Promise<void>

      A promise that resolves when the subscription is stored

    • Retrieves subscription data for a specific subscription

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • subscriptionId: UUID

        Unique identifier for the subscription

      Returns Promise<Record<string, any> | undefined>

      A promise that resolves to the subscription data, or undefined if not found

    • Removes a subscription

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      • subscriptionId: UUID

        Unique identifier for the subscription

      Returns Promise<void>

      A promise that resolves when the subscription is removed

    • Retrieves all subscriptions for a specific connection

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      Returns Promise<Record<string, any>[]>

      A promise that resolves to an array of subscription data

    • Removes all subscriptions associated with a connection

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • connectionId: UUID

        Unique identifier for the connection

      Returns Promise<void>

      A promise that resolves when all subscriptions are removed

    • Retrieves subscriptions filtered by read model class name This method supports querying subscriptions by the read model type they are listening to

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • className: string

        The name of the read model class to filter subscriptions by

      Returns Promise<SubscriptionEnvelope[]>

      A promise that resolves to an array of subscription envelopes matching the class name

    Properties

    healthCheck?: {
        isUp(config: MagekConfig): Promise<boolean>;
        details(config: MagekConfig): Promise<unknown>;
        urls(config: MagekConfig): Promise<string[]>;
    }

    Health check methods for the session store

    Type Declaration