Magek Framework
    Preparing search index...

    Interface ReadModelStoreAdapter

    interface ReadModelStoreAdapter {
        fetch<TReadModel extends ReadModelInterface>(
            config: MagekConfig,
            readModelName: string,
            readModelID: UUID,
            sequenceKey?: SequenceKey,
        ): Promise<ReadOnlyNonEmptyArray<TReadModel> | undefined>;
        search<TReadModel extends ReadModelInterface>(
            config: MagekConfig,
            readModelName: string,
            filters: FilterFor<unknown>,
            sortBy?: SortFor<unknown>,
            limit?: number,
            afterCursor?: unknown,
            paginatedVersion?: boolean,
            select?: ProjectionFor<TReadModel>,
        ): Promise<TReadModel[] | ReadModelListResult<TReadModel>>;
        store<TReadModel extends ReadModelInterface>(
            config: MagekConfig,
            readModelName: string,
            readModel: ReadModelStoreEnvelope<TReadModel>,
        ): Promise<ReadModelStoreEnvelope<TReadModel>>;
        delete(
            config: MagekConfig,
            readModelName: string,
            readModelID: UUID,
        ): Promise<void>;
        rawToEnvelopes<TReadModel extends ReadModelInterface>(
            config: MagekConfig,
            rawReadModels: unknown,
        ): Promise<ReadModelStoreEnvelope<TReadModel>[]>;
        healthCheck?: {
            isUp(config: MagekConfig): Promise<boolean>;
            details(config: MagekConfig): Promise<unknown>;
            urls(config: MagekConfig): Promise<string[]>;
        };
    }
    Index

    Methods

    • Searches for read models based on specific parameters This method signature matches the original provider library interface

      Type Parameters

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • readModelName: string

        The name of the read model type

      • filters: FilterFor<unknown>

        The filters to be applied during the search

      • OptionalsortBy: SortFor<unknown>

        An object that specifies how the results should be sorted (optional)

      • Optionallimit: number

        The maximum number of results to return (optional)

      • OptionalafterCursor: unknown

        A cursor that specifies the position after which results should be returned (optional)

      • OptionalpaginatedVersion: boolean

        A boolean value that indicates whether the results should be paginated (optional)

      • Optionalselect: ProjectionFor<TReadModel>

        An object that specifies fields to be returned, including calculated field dependencies (optional)

      Returns Promise<TReadModel[] | ReadModelListResult<TReadModel>>

      A promise that resolves to an array of read models or a ReadModelListResult

    • Deletes a read model by its ID

      Parameters

      • config: MagekConfig

        The Magek configuration object

      • readModelName: string

        The name of the read model type

      • readModelID: UUID

        The ID of the read model to delete

      Returns Promise<void>

      A promise that resolves when the read model has been deleted

    Properties

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

    Health check methods for the read model store

    Type Declaration