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

    Cross-customer admin access to organizations.

    Extends OrganizationCache, so this read shares the organization-search namespace — and therefore the customer-id tag vocabulary — with the consumer surface. A consumer write for a customer evicts the admin pages scoped to that customer, and vice versa, without either service referencing the other.

    Hierarchy (View Summary)

    Index
    cache: ServiceCache<CachedSearchPage<CachedOrgWithCustomer>>
    db: B2bDatabase
    • Bust every cached page — consumer or admin — that a write touching customerIds could have affected.

      The collection tag is always cleared alongside, because an unscoped admin page carries only that tag and no customer id can reach it.

      keys deletes exact entries in addition to the tag surgery, passing the key arguments — this cache hashes and prefixes them. It exists because invalidateTag resolves keys through the FT index, which does not exist in memory mode (valkeyClient: null); there the tag bust is a total no-op, and an exact-key delete is the only thing that keeps read-after-write honest. Services that folded get onto search pass that get's arguments.

      These deletes only reach this instance's own key space, because the key space is partitioned per surface. That is sufficient, and a writer must not try to name the other surface's key:

      • With Valkey, the other surface's get entry is itself tagged (by customer id, or by the collection tag when unscoped), so the tag bust above already evicts it from the shared L2 and publishes the peer eviction.
      • Without Valkey, the two surfaces are separate instances with separate L1 maps, so deleting a key from this instance could never have affected the other one anyway.

      Parameters

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

      Returns Promise<void>

    • Parameters

      • __namedParameters: {
            countriesOfIncorporation?: string[];
            createdAt?: DbTimestampCriteria;
            customerIds?: string[];
            descriptionLike?: string;
            ids?: string[];
            includeDeleted?: boolean;
            legalEntityTypeLike?: string;
            legalEntityTypes?: (
                | "LIMITED_LIABILITY_COMPANY"
                | "C_CORPORATION"
                | "S_CORPORATION"
                | "B_CORPORATION"
                | "CLOSE_CORPORATION"
                | "COOPERATIVE"
                | "GENERAL_PARTNERSHIP"
                | "LIMITED_PARTNERSHIP"
                | "NONPROFIT_CORPORATION"
                | "SOLE_PROPRIETORSHIP"
            )[];
            nameLike?: string;
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                achName: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                countryOfIncorporation: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                createdAt: PgBuildColumn<
                                    "organization",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                customerId: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgIntegerBuilder>,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                data: PgBuildColumn<
                                    "organization",
                                    Set$Type<
                                        PgJsonbBuilder,
                                        {
                                            address?: ...;
                                            email?: ...;
                                            incorporationDate?: ...;
                                            phone?: ...;
                                            routeFusionEntity?: ...;
                                            verificationData?: ...;
                                            verificationProfileId?: ...;
                                            websiteUrl?: ...;
                                        },
                                    >,
                                    {
                                        data: {
                                            address?: ...;
                                            email?: ...;
                                            incorporationDate?: ...;
                                            phone?: ...;
                                            routeFusionEntity?: ...;
                                            verificationData?: ...;
                                            verificationProfileId?: ...;
                                            websiteUrl?: ...;
                                        };
                                        dataType: "object json";
                                        driverParam: unknown;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "organization";
                                    },
                                >;
                                deletedAt: PgBuildColumn<
                                    "organization",
                                    PgTimestampBuilder,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "organization";
                                    },
                                >;
                                description: PgBuildColumn<
                                    "organization",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "organization";
                                    },
                                >;
                                entityType: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                externalId: PgBuildColumn<
                                    "organization",
                                    SetHasRuntimeDefault<SetNotNull<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                id: PgBuildColumn<
                                    "organization",
                                    HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: "byDefault";
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                isMainOrg: PgBuildColumn<
                                    "organization",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: boolean;
                                        dataType: "boolean";
                                        driverParam: boolean;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                name: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                referenceId: PgBuildColumn<
                                    "organization",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "organization";
                                    },
                                >;
                                status: PgBuildColumn<
                                    "organization",
                                    Set$Type<SetNotNull<(...)>, (...) | (...) | (...) | (...)>,
                                    {
                                        data: (...) | (...) | (...) | (...);
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                taxId: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                updatedAt: PgBuildColumn<
                                    "organization",
                                    SetHasDefault<SetHasDefault<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                uuid: PgBuildColumn<
                                    "organization",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string uuid";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                                wireName: PgBuildColumn<
                                    "organization",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "organization";
                                    },
                                >;
                            };
                            dialect: "pg";
                            name: "organization";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "createdAt"
                | "updatedAt"
                | "name",
            >[];
            page?: number;
            pageSize?: number;
            q?: string;
            referenceIdLike?: string;
            referenceIds?: string[];
            routeFusionEntityIds?: string[];
            statuses?: ("ACTIVE" | "DELETED" | "DISABLED" | "PENDING_VERIFICATION")[];
            unverified?: boolean;
            updatedAt?: DbTimestampCriteria;
            uuids?: string[];
        }
        • OptionalcountriesOfIncorporation?: string[]
        • OptionalcreatedAt?: DbTimestampCriteria
        • OptionalcustomerIds?: string[]
        • OptionaldescriptionLike?: string

          Partial match on description

        • Optionalids?: string[]
        • OptionalincludeDeleted?: boolean
        • OptionallegalEntityTypeLike?: string

          Partial match on legal entity type

        • OptionallegalEntityTypes?: (
              | "LIMITED_LIABILITY_COMPANY"
              | "C_CORPORATION"
              | "S_CORPORATION"
              | "B_CORPORATION"
              | "CLOSE_CORPORATION"
              | "COOPERATIVE"
              | "GENERAL_PARTNERSHIP"
              | "LIMITED_PARTNERSHIP"
              | "NONPROFIT_CORPORATION"
              | "SOLE_PROPRIETORSHIP"
          )[]

          Exact match to these canonical legal-entity-type codes (US structures).

        • OptionalnameLike?: string

          Partial match on legal entity name

        • OptionalorderBy?: DbOrderByCriterion<
              Omit<
                  PgTableWithColumns<
                      {
                          columns: {
                              achName: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              countryOfIncorporation: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              createdAt: PgBuildColumn<
                                  "organization",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: Date;
                                      dataType: "object date";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              customerId: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgIntegerBuilder>,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...) | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              data: PgBuildColumn<
                                  "organization",
                                  Set$Type<
                                      PgJsonbBuilder,
                                      {
                                          address?: ...;
                                          email?: ...;
                                          incorporationDate?: ...;
                                          phone?: ...;
                                          routeFusionEntity?: ...;
                                          verificationData?: ...;
                                          verificationProfileId?: ...;
                                          websiteUrl?: ...;
                                      },
                                  >,
                                  {
                                      data: {
                                          address?: ...;
                                          email?: ...;
                                          incorporationDate?: ...;
                                          phone?: ...;
                                          routeFusionEntity?: ...;
                                          verificationData?: ...;
                                          verificationProfileId?: ...;
                                          websiteUrl?: ...;
                                      };
                                      dataType: "object json";
                                      driverParam: unknown;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "organization";
                                  },
                              >;
                              deletedAt: PgBuildColumn<
                                  "organization",
                                  PgTimestampBuilder,
                                  {
                                      data: Date;
                                      dataType: "object date";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "organization";
                                  },
                              >;
                              description: PgBuildColumn<
                                  "organization",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "organization";
                                  },
                              >;
                              entityType: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              externalId: PgBuildColumn<
                                  "organization",
                                  SetHasRuntimeDefault<SetNotNull<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              id: PgBuildColumn<
                                  "organization",
                                  HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...) | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: "byDefault";
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              isMainOrg: PgBuildColumn<
                                  "organization",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: boolean;
                                      dataType: "boolean";
                                      driverParam: boolean;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              name: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              referenceId: PgBuildColumn<
                                  "organization",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "organization";
                                  },
                              >;
                              status: PgBuildColumn<
                                  "organization",
                                  Set$Type<SetNotNull<(...)>, (...) | (...) | (...) | (...)>,
                                  {
                                      data: (...) | (...) | (...) | (...);
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              taxId: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              updatedAt: PgBuildColumn<
                                  "organization",
                                  SetHasDefault<SetHasDefault<(...)>>,
                                  {
                                      data: Date;
                                      dataType: "object date";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              uuid: PgBuildColumn<
                                  "organization",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string uuid";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                              wireName: PgBuildColumn<
                                  "organization",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "organization";
                                  },
                              >;
                          };
                          dialect: "pg";
                          name: "organization";
                          schema: "b2b";
                      },
                  >,
                  "enableRLS",
              >,
              "createdAt"
              | "updatedAt"
              | "name",
          >[]
        • Optionalpage?: number

          Defaults to 1

        • OptionalpageSize?: number

          Defaults to 10

        • Optionalq?: string

          Unified free-text search: matches the organization's legal name, either frozen beneficiary alias (ach_name / wire_name), its own external id (org_...), the owning customer's name, or the customer's external id (cust_...). Whitespace-only values are a no-op.

        • OptionalreferenceIdLike?: string

          Partial match on reference ID

        • OptionalreferenceIds?: string[]
        • OptionalrouteFusionEntityIds?: string[]

          Matches the pinned RouteFusion business-entity id on data->'routeFusionEntity'->>'entityId'. Mirrors the VA-side filter for reverse-lookup (RF entity webhook → owning org).

        • Optionalstatuses?: ("ACTIVE" | "DELETED" | "DISABLED" | "PENDING_VERIFICATION")[]
        • Optionalunverified?: boolean
        • OptionalupdatedAt?: DbTimestampCriteria
        • Optionaluuids?: string[]

      Returns Promise<
          {
              ok: true;
              value: { hasNext: boolean; items: OrgWithCustomer[]; total: number };
          },
      >

    • Tags to write on a page, derived from the scope the query searched — never from the customers present in the result.

      That distinction is load-bearing. An entry tagged with the customer ids in the page carries no tags when the page is empty, so nothing can ever bust it and a later create leaves it stale for the full L2 TTL. Tagging by scope means an empty page still carries the tag for what it searched.

      An unscoped read falls back to the collection tag, since no customer-id tag can reach a row whose owner did not exist when the entry was written.

      Parameters

      • __namedParameters: { customerIds: readonly string[] | undefined }

      Returns string[]

    • Pin the RouteFusion business entity onto the org — minted once, reused for every VA. The pin is CONDITIONAL (WHERE data->'routeFusionEntity' IS NULL) so two concurrent onboards can't both mint: the loser's UPDATE matches no row, and the subsequent re-read returns the winner's pinned value. A missing org (re-read finds nothing) is NOT_FOUND.

      requiredDocuments is the OR-of-AND document-set snapshot from RF's entityRequiredFields, resolved for the org's real country/business type at mint time (see onboardRouteFusionEntity). Optional so legacy callers (and tests) can still pin without it.

      Parameters

      • __namedParameters: {
            entityId: string;
            id: string;
            programId?: string;
            requiredDocuments?: string[][];
            status: "PENDING" | "REJECTED" | "VERIFIED";
        }

      Returns Promise<
          | { error: ServiceError; ok: false }
          | {
              ok: true;
              value: {
                  achName: string;
                  address?: {
                      city: string;
                      countryCode: string;
                      line1: string;
                      line2?: string;
                      postalCode?: string;
                      regionCode?: string;
                  };
                  capabilities: (
                      | "TRANSACT"
                      | "MANAGE_PAYMENT_INSTRUMENT"
                      | "MANAGE_LEDGER_ACCOUNT"
                      | "MANAGE_DEPOSIT_MEMO"
                  )[];
                  countryCode: string;
                  countryOfIncorporation: string;
                  createdAt: Date;
                  deletedAt?: Date;
                  description?: string;
                  email?: string;
                  fullName: string;
                  id: string;
                  incorporationDate?: string;
                  legalEntityType: string;
                  name: string;
                  phone?: E164Phone;
                  referenceId?: string;
                  routeFusionEntity?: {
                      documentsUploadedAt?: string;
                      entityId: string;
                      lastFinalizeError?: { at: string; message: string }
                      | null;
                      programId?: string;
                      requiredDocuments?: string[][];
                      status: "PENDING" | "REJECTED" | "VERIFIED";
                  };
                  status: "ACTIVE"
                  | "DELETED"
                  | "DISABLED"
                  | "PENDING_VERIFICATION";
                  taxId: string;
                  type: "ORGANIZATION";
                  updatedAt: Date;
                  uuid: string;
                  verificationData?: {
                      status: "REVIEW" | "PENDING" | "APPROVED" | "DECLINED";
                      verificationSessionId?: string;
                      verificationTemplateId: string;
                  };
                  verificationProfileId?: string;
                  websiteUrl?: string;
                  wireName: string;
              };
          },
      >

    • Update only the pinned entity's KYB status (RF entity webhook → VERIFIED/REJECTED), leaving entityId/programId intact. Matches only when an entity is already pinned; a status-only write on an org with no pinned entity is NOT_FOUND.

      Parameters

      • __namedParameters: { id: string; status: "PENDING" | "REJECTED" | "VERIFIED" }

      Returns Promise<
          | { error: ServiceError; ok: false }
          | {
              ok: true;
              value: {
                  achName: string;
                  address?: {
                      city: string;
                      countryCode: string;
                      line1: string;
                      line2?: string;
                      postalCode?: string;
                      regionCode?: string;
                  };
                  capabilities: (
                      | "TRANSACT"
                      | "MANAGE_PAYMENT_INSTRUMENT"
                      | "MANAGE_LEDGER_ACCOUNT"
                      | "MANAGE_DEPOSIT_MEMO"
                  )[];
                  countryCode: string;
                  countryOfIncorporation: string;
                  createdAt: Date;
                  deletedAt?: Date;
                  description?: string;
                  email?: string;
                  fullName: string;
                  id: string;
                  incorporationDate?: string;
                  legalEntityType: string;
                  name: string;
                  phone?: E164Phone;
                  referenceId?: string;
                  routeFusionEntity?: {
                      documentsUploadedAt?: string;
                      entityId: string;
                      lastFinalizeError?: { at: string; message: string }
                      | null;
                      programId?: string;
                      requiredDocuments?: string[][];
                      status: "PENDING" | "REJECTED" | "VERIFIED";
                  };
                  status: "ACTIVE"
                  | "DELETED"
                  | "DISABLED"
                  | "PENDING_VERIFICATION";
                  taxId: string;
                  type: "ORGANIZATION";
                  updatedAt: Date;
                  uuid: string;
                  verificationData?: {
                      status: "REVIEW" | "PENDING" | "APPROVED" | "DECLINED";
                      verificationSessionId?: string;
                      verificationTemplateId: string;
                  };
                  verificationProfileId?: string;
                  websiteUrl?: string;
                  wireName: string;
              };
          },
      >

    • Admin org write. Accepts the full editable business-field set, mapping each field exactly as OrganizationService.update does (top-level columns vs data jsonb), but WITHOUT triggering AiPrise verification.

      status is CALLER-CONTROLLED — this path does NOT force PENDING_VERIFICATION. That lets the AiPrise callback set ACTIVE / persist incorporationDate without a reset, while the admin edit action passes status: "PENDING_VERIFICATION" explicitly to re-trigger KYB when business details change.

      Parameters

      • __namedParameters: {
            data: Partial<
                Pick<
                    {
                        achName: string;
                        address?: {
                            city: string;
                            countryCode: string;
                            line1: string;
                            line2?: string;
                            postalCode?: string;
                            regionCode?: string;
                        };
                        capabilities: (
                            | "TRANSACT"
                            | "MANAGE_PAYMENT_INSTRUMENT"
                            | "MANAGE_LEDGER_ACCOUNT"
                            | "MANAGE_DEPOSIT_MEMO"
                        )[];
                        countryCode: string;
                        countryOfIncorporation: string;
                        createdAt: Date;
                        deletedAt?: Date;
                        description?: string;
                        email?: string;
                        fullName: string;
                        id: string;
                        incorporationDate?: string;
                        legalEntityType: string;
                        name: string;
                        phone?: E164Phone;
                        referenceId?: string;
                        routeFusionEntity?: {
                            documentsUploadedAt?: string;
                            entityId: string;
                            lastFinalizeError?: { at: string; message: string }
                            | null;
                            programId?: string;
                            requiredDocuments?: string[][];
                            status: "PENDING" | "REJECTED" | "VERIFIED";
                        };
                        status: "ACTIVE"
                        | "DELETED"
                        | "DISABLED"
                        | "PENDING_VERIFICATION";
                        taxId: string;
                        type: "ORGANIZATION";
                        updatedAt: Date;
                        uuid: string;
                        verificationData?: {
                            status: "REVIEW" | "PENDING" | "APPROVED" | "DECLINED";
                            verificationSessionId?: string;
                            verificationTemplateId: string;
                        };
                        verificationProfileId?: string;
                        websiteUrl?: string;
                        wireName: string;
                    },
                    | "achName"
                    | "wireName"
                    | "description"
                    | "name"
                    | "referenceId"
                    | "countryOfIncorporation"
                    | "taxId"
                    | "legalEntityType",
                >,
            > & {
                address?: | {
                    city: string;
                    countryCode: string;
                    line1: string;
                    line2?: string;
                    postalCode?: string;
                    regionCode?: string;
                }
                | null;
                email?: string
                | null;
                incorporationDate?: string | null;
                phone?: E164Phone | null;
                routeFusionEntity?: Partial<
                    {
                        documentsUploadedAt?: string;
                        entityId: string;
                        lastFinalizeError?: { at: string; message: string }
                        | null;
                        programId?: string;
                        requiredDocuments?: string[][];
                        status: "PENDING" | "REJECTED" | "VERIFIED";
                    },
                >;
                status?: "ACTIVE"
                | "DISABLED"
                | "PENDING_VERIFICATION";
                verificationData?:
                    | {
                        status: "REVIEW"
                        | "PENDING"
                        | "APPROVED"
                        | "DECLINED";
                        verificationSessionId?: string;
                        verificationTemplateId: string;
                    }
                    | null;
                websiteUrl?: string
                | null;
            };
            id: string;
        }

      Returns Promise<
          | {
              ok: true;
              value: {
                  achName: string;
                  address?: {
                      city: string;
                      countryCode: string;
                      line1: string;
                      line2?: string;
                      postalCode?: string;
                      regionCode?: string;
                  };
                  capabilities: (
                      | "TRANSACT"
                      | "MANAGE_PAYMENT_INSTRUMENT"
                      | "MANAGE_LEDGER_ACCOUNT"
                      | "MANAGE_DEPOSIT_MEMO"
                  )[];
                  countryCode: string;
                  countryOfIncorporation: string;
                  createdAt: Date;
                  deletedAt?: Date;
                  description?: string;
                  email?: string;
                  fullName: string;
                  id: string;
                  incorporationDate?: string;
                  legalEntityType: string;
                  name: string;
                  phone?: E164Phone;
                  referenceId?: string;
                  routeFusionEntity?: {
                      documentsUploadedAt?: string;
                      entityId: string;
                      lastFinalizeError?: { at: string; message: string }
                      | null;
                      programId?: string;
                      requiredDocuments?: string[][];
                      status: "PENDING" | "REJECTED" | "VERIFIED";
                  };
                  status: "ACTIVE"
                  | "DELETED"
                  | "DISABLED"
                  | "PENDING_VERIFICATION";
                  taxId: string;
                  type: "ORGANIZATION";
                  updatedAt: Date;
                  uuid: string;
                  verificationData?: {
                      status: "REVIEW" | "PENDING" | "APPROVED" | "DECLINED";
                      verificationSessionId?: string;
                      verificationTemplateId: string;
                  };
                  verificationProfileId?: string;
                  websiteUrl?: string;
                  wireName: string;
              };
          }
          | {
              error: | ServiceError<"INVALID_EMAIL" | "INVALID_WEBSITE_URL">
              | ServiceError<"NOT_FOUND" | "DUPLICATE">;
              ok: false;
          },
      >

    • The exact key OrganizationAdminQueryService.get reads through, for its includeDeleted: false callers.

      The includeDeleted: true variant hashes differently and is reached only by the collection tag, which every Valkey-backed environment has. That gap is deliberate and pre-existing: it only matters in memory mode, where no admin get runs with includeDeleted: true.

      Parameters

      • __namedParameters: { id: string }

      Returns Record<string, unknown>

    • The exact key OrganizationQueryService.get reads through.

      get folds onto search, so these args must stay identical to the ones it passes ({ customerId, ids: [id], pageSize: 1 }) plus the defaults search bakes into its own key — includeDeleted: false and page: 1. Every other filter is undefined there, and serviceCacheKey canonicalizes with JCS, which drops undefined properties. organizationCache.test.ts pins the equivalence.

      Parameters

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

      Returns Record<string, unknown>