@cfxlabsinc/b2b-services
    Preparing search index...

    Root of the card hierarchy: the one girasol-card-search namespace the customer and admin surfaces share, and the bust seam every writer inherits. Both surfaces project the same row, so one cached shape serves both.

    Hierarchy (View Summary)

    Index
    cache: ServiceCache<CachedSearchPage<GirasolCardSearchItem>>
    db: B2bDatabase
    instance: (...args: []) => GirasolCardQueryService = ...

    The process service, on the shared database and Valkey.

    • Clear each customer's membership tag and each record tag wherever cached, and always this namespace's collection tag. keys are exact deletes in this instance's key space: the only bust a null client honours.

      Parameters

      • __namedParameters: {
            customerIds: readonly string[];
            keys?: readonly CacheKey[];
            records?: readonly string[];
        }

      Returns Promise<void>

    • Tags for a page: the scope its query searched (each customer's membership tag, else the collection tag), so an empty page is bustable too, plus the records it projects and the fields that chose or ordered its rows.

      Parameters

      • __namedParameters: {
            customerIds: readonly string[] | undefined;
            fields?: readonly string[];
            records?: readonly string[];
        }

      Returns string[]

    • The search arguments get reads through. Every default is spelled out, so the same object is also search's cache key for that entry.

      Parameters

      • __namedParameters: { customerId: string; id: string }

      Returns { customerId: string; ids: string[]; page: number; pageSize: number }