@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 ManualBankAccountAdminService 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
    • 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[];
            customerIds?: string[];
            ids?: string[];
            includeDeleted?: boolean;
            keys?: string[];
            orderBy?: DbOrderByCriterion<
                PgViewWithSelection<
                    "bank_account_view",
                    false,
                    {
                        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<[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: 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<[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: 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<[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: 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";
                            },
                        >;
                        source: PgBuildColumn<
                            "bank_account_view",
                            SetNotNull<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: 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<[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: 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;
            q?: string;
            sources?: (
                | "VICTOR_ACCOUNT"
                | "VIRTUAL_ACCOUNT"
                | "MANUAL"
                | "BANK_INSTRUCTION"
                | "OBSERVED"
            )[];
            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[]
        • 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<
                  "bank_account_view",
                  false,
                  {
                      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<[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: 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<[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: 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<[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: 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";
                          },
                      >;
                      source: PgBuildColumn<
                          "bank_account_view",
                          SetNotNull<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: 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<[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: 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
        • Optionalq?: string

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

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

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