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

    Class BankAccountQueryService

    Reads b2b.bank_account_view — the one surface that answers "what accounts do we have, who owns them, and what is in them".

    sources is the filter worth understanding. source is a constant literal in every arm precisely so the planner can constant-fold source IN (…) and drop the non-matching arms from the plan entirely. Passing it through as an inArray on the view's own column is what preserves that; deriving the same filter from anything computed would plan all five arms.

    Read-only by design: the view has one writable arm and BankAccountAdminService owns it. There is no consumer tier — these are CFX's own accounts, so nothing here takes a customerId.

    See docs/proposals/BANK_ACCOUNT_VIEW.md.

    Index
    db: B2bDatabase
    instance: (...args: []) => BankAccountQueryService = ...

    The process default, on the writer: a transfer decides on the row it reads.

    • Live row count per source, for the nav badge and the list's facet bar.

      One scan with a GROUP BY rather than five search calls: the counts are only meaningful next to each other, so the whole facet bar should cost a single round trip. Exact, unlike counting a capped page.

      An arm with no rows is absent rather than 0 — the count comes from what exists, and inventing zeroes here would encode the arm list in a second place. Callers coalesce.

      Returns Promise<{ ok: true; value: T }>

    • Parameters

      • input: {
            accountNumberEndsWith?: string;
            bankIds?: string[];
            cfxOwned?: boolean;
            customerIds?: string[];
            ids?: string[];
            includeDeleted?: boolean;
            keys?: string[];
            orderBy?: DbOrderByCriterion<
                PgViewWithSelection<
                    {
                        existing: false;
                        isAlias: false;
                        name: "bank_account_view";
                        schema: "b2b";
                        selectedFields: {
                            accountNumber: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            bankId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            bankName: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            createdAt: PgBuildColumn<
                                "bank_account_view",
                                SetNotNull<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: true;
                                    tableName: "bank_account_view";
                                },
                            >;
                            credits: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            creditsExInternal: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            currency: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            customerId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            customerName: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            debits: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            debitsExInternal: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            deletedAt: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            entityId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            entityName: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            entityType: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            firstPostedAt: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            id: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            impliedBalance: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            impliedBalanceExInternal: PgBuildColumn<
                                "bank_account_view",
                                PgNumericBuilder,
                                {
                                    data: string;
                                    dataType: "string numeric";
                                    driverParam: string;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            key: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            keyable: PgBuildColumn<
                                "bank_account_view",
                                SetNotNull<PgBooleanBuilder>,
                                {
                                    data: boolean;
                                    dataType: "boolean";
                                    driverParam: boolean;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: true;
                                    tableName: "bank_account_view";
                                },
                            >;
                            lastPostedAt: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            ledgerAccountId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            memo: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            name: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            parentKey: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            provider: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            providerAccountId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            routingNumber: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            searchText: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            searchTextAdmin: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            source: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            sourceRecordId: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            status: PgBuildColumn<
                                "bank_account_view",
                                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: "bank_account_view";
                                },
                            >;
                            transactionCount: PgBuildColumn<
                                "bank_account_view",
                                PgIntegerBuilder,
                                {
                                    data: number;
                                    dataType: "number int32";
                                    driverParam: string
                                    | number;
                                    enumValues: undefined;
                                    generated: undefined;
                                    hasDefault: false;
                                    hasRuntimeDefault: false;
                                    identity: undefined;
                                    isAutoincrement: false;
                                    isPrimaryKey: false;
                                    name: string;
                                    notNull: false;
                                    tableName: "bank_account_view";
                                },
                            >;
                            type: PgBuildColumn<
                                "bank_account_view",
                                PgTextBuilder<[string, ...string[]]>,
                                {
                                    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: "bank_account_view";
                                },
                            >;
                            updatedAt: PgBuildColumn<
                                "bank_account_view",
                                SetNotNull<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: true;
                                    tableName: "bank_account_view";
                                },
                            >;
                        };
                    },
                >,
                BankAccountOrderField,
            >[];
            page?: number;
            pageSize?: number;
            providers?: string[];
            q?: string;
            sources?: ("MANUAL" | "OBSERVED" | "VIRTUAL_ACCOUNT" | "BANK_INSTRUCTION")[];
            statuses?: string[];
        } = {}
        • OptionalaccountNumberEndsWith?: string

          Trailing digits of an account number, matched as a suffix. What a bank quotes in a notification ("account ending with 454") rather than a number anyone can look up.

          A suffix, not the q substring match, because those are different questions: 454 as a substring also matches 4541000, an account the bank never named. Pass digits only — the value goes into a LIKE pattern, so % or _ in it would widen the match rather than narrow it.

          Deliberately NOT scoped to keyable rows. An unkeyable account still exists and the caller may need to see that it matched; suppressing it here would report "no such account" for one that is merely unmeasurable.

        • OptionalbankIds?: string[]
        • OptionalcfxOwned?: boolean

          CFX-owned register rows only (customer_id IS NULL). Per-customer FBOs and other attributed MANUAL rows are excluded. Distinct from customerIds: that pins to known customers; this asks for none.

        • OptionalcustomerIds?: string[]
        • Optionalids?: string[]
        • OptionalincludeDeleted?: boolean
        • Optionalkeys?: string[]

          Correlation keys. Read one off the row you already have — every service that projects an account exposes its key — rather than assembling the string.

        • OptionalorderBy?: DbOrderByCriterion<
              PgViewWithSelection<
                  {
                      existing: false;
                      isAlias: false;
                      name: "bank_account_view";
                      schema: "b2b";
                      selectedFields: {
                          accountNumber: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          bankId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          bankName: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          createdAt: PgBuildColumn<
                              "bank_account_view",
                              SetNotNull<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: true;
                                  tableName: "bank_account_view";
                              },
                          >;
                          credits: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          creditsExInternal: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          currency: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          customerId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          customerName: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          debits: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          debitsExInternal: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          deletedAt: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          entityId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          entityName: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          entityType: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          firstPostedAt: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          id: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          impliedBalance: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          impliedBalanceExInternal: PgBuildColumn<
                              "bank_account_view",
                              PgNumericBuilder,
                              {
                                  data: string;
                                  dataType: "string numeric";
                                  driverParam: string;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          key: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          keyable: PgBuildColumn<
                              "bank_account_view",
                              SetNotNull<PgBooleanBuilder>,
                              {
                                  data: boolean;
                                  dataType: "boolean";
                                  driverParam: boolean;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: true;
                                  tableName: "bank_account_view";
                              },
                          >;
                          lastPostedAt: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          ledgerAccountId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          memo: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          name: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          parentKey: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          provider: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          providerAccountId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          routingNumber: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          searchText: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          searchTextAdmin: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          source: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          sourceRecordId: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          status: PgBuildColumn<
                              "bank_account_view",
                              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: "bank_account_view";
                              },
                          >;
                          transactionCount: PgBuildColumn<
                              "bank_account_view",
                              PgIntegerBuilder,
                              {
                                  data: number;
                                  dataType: "number int32";
                                  driverParam: string
                                  | number;
                                  enumValues: undefined;
                                  generated: undefined;
                                  hasDefault: false;
                                  hasRuntimeDefault: false;
                                  identity: undefined;
                                  isAutoincrement: false;
                                  isPrimaryKey: false;
                                  name: string;
                                  notNull: false;
                                  tableName: "bank_account_view";
                              },
                          >;
                          type: PgBuildColumn<
                              "bank_account_view",
                              PgTextBuilder<[string, ...string[]]>,
                              {
                                  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: "bank_account_view";
                              },
                          >;
                          updatedAt: PgBuildColumn<
                              "bank_account_view",
                              SetNotNull<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: true;
                                  tableName: "bank_account_view";
                              },
                          >;
                      };
                  },
              >,
              BankAccountOrderField,
          >[]
        • Optionalpage?: number

          1-based page; defaults to 1.

        • OptionalpageSize?: number
        • Optionalproviders?: string[]

          The provider that holds the account (VICTOR, ROUTE_FUSION, …).

        • Optionalq?: string

          Free-text over name, account number, routing number and bank name.

        • Optionalsources?: ("MANUAL" | "OBSERVED" | "VIRTUAL_ACCOUNT" | "BANK_INSTRUCTION")[]
        • Optionalstatuses?: string[]

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