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

    The operator surface over b2b.greendot_retailer, plus the sync that keeps it in step with Green Dot. Searches pass includeDelisted: true to see rows Green Dot no longer lists.

    Hierarchy (View Summary)

    Index
    db: B2bDatabase
    retailerCache: ServiceCache<SearchPage<CashDepositRetailer>>
    instance: (...args: []) => CashDepositRetailerAdminService = ...

    The process default: the parent's graph plus the internal event publisher.

    • Parameters

      • row: {
            createdAt: Date;
            delistedAt: Date | null;
            description: string | null;
            displayName: string;
            displayPriority: string | null;
            enabled: boolean;
            enabledForTesting: boolean;
            greendotId: string;
            id: number;
            isOnboarding: string | null;
            lastSyncedAt: Date | null;
            purchaseFee: string | null;
            shortName: string | null;
            slug: string;
            updatedAt: Date;
        }
      • staticAssetBaseUrl: string

      Returns CashDepositRetailer

    • Applies one full Green Dot retailer list. Our own columns (display_name, slug, enabled, enabled_for_testing) are never overwritten; an id we have no row for gets one, enabled, named from Green Dot. Refuses a list that would delist more than MAX_DELIST_SHARE of the live ids. Clears the read cache once the transaction commits.

      Parameters

      Returns Promise<{ ok: true; value: SyncCounts } | { error: ServiceError; ok: false }>