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

    Variable bankAccountTableConst

    bankAccountTable: Omit<
        PgTableWithColumns<
            {
                columns: {
                    accountNumber: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    achCompanyId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    achCompanyName: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    bankExternalId: PgBuildColumn<
                        "bank_account",
                        Set$Type<PgTextBuilder<[string, ...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";
                        },
                    >;
                    bankId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    bankName: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    createdAt: PgBuildColumn<
                        "bank_account",
                        SetHasDefault<SetNotNull<PgTimestampBuilder>>,
                        {
                            data: Date;
                            dataType: "object date";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    currency: PgBuildColumn<
                        "bank_account",
                        SetHasDefault<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    customerExternalId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    customerId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    deletedAt: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    discoveredFrom: PgBuildColumn<
                        "bank_account",
                        SetHasDefault<
                            Set$Type<
                                SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                                "PROVIDER" | "MANUAL" | "OBSERVED",
                            >,
                        >,
                        {
                            data: "PROVIDER" | "MANUAL" | "OBSERVED";
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    externalId: PgBuildColumn<
                        "bank_account",
                        SetHasRuntimeDefault<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    id: PgBuildColumn<
                        "bank_account",
                        HasIdentity<SetIsPrimaryKey<PgIntegerBuilder>, "byDefault">,
                        {
                            data: number;
                            dataType: "number int32";
                            driverParam: string | number;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: "byDefault";
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    identityExternalId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    identityId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    ledgerAccountExternalId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    ledgerAccountId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    memo: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    name: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    notes: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    organizationExternalId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    organizationId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    parentKey: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    programExternalId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    programId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    provider: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    providerAccountId: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    registeredBy: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    routingNumber: PgBuildColumn<
                        "bank_account",
                        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";
                        },
                    >;
                    searchDocument: PgBuildColumn<
                        "bank_account",
                        SetHasGenerated<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: true;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    searchDocumentAdmin: PgBuildColumn<
                        "bank_account",
                        SetHasGenerated<SetNotNull<PgTextBuilder<[string, ...string[]]>>>,
                        {
                            data: string;
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: true;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    status: PgBuildColumn<
                        "bank_account",
                        SetHasDefault<
                            Set$Type<
                                SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                                "DELETED" | "ACTIVE" | "CLOSED",
                            >,
                        >,
                        {
                            data: "DELETED" | "ACTIVE" | "CLOSED";
                            dataType: "string";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    type: PgBuildColumn<
                        "bank_account",
                        Set$Type<
                            SetNotNull<PgTextBuilder<[string, ...string[]]>>,
                            BankAccountType,
                        >,
                        {
                            data: BankAccountType;
                            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";
                        },
                    >;
                    updatedAt: PgBuildColumn<
                        "bank_account",
                        SetHasDefault<SetHasDefault<SetNotNull<PgTimestampBuilder>>>,
                        {
                            data: Date;
                            dataType: "object date";
                            driverParam: string;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: true;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: true;
                            tableName: "bank_account";
                        },
                    >;
                    victorCounterparty: PgBuildColumn<
                        "bank_account",
                        Set$Type<
                            PgJsonbBuilder,
                            { id: string } & Pick<
                                WireBatchBankInternalTransferInstruction,
                                | "routingNumber"
                                | "accountNumber"
                                | "beneficiaryName"
                                | "beneficiaryAddress",
                            >,
                        >,
                        {
                            data: { id: string } & Pick<
                                WireBatchBankInternalTransferInstruction,
                                | "routingNumber"
                                | "accountNumber"
                                | "beneficiaryName"
                                | "beneficiaryAddress",
                            >;
                            dataType: "object json";
                            driverParam: unknown;
                            enumValues: undefined;
                            generated: undefined;
                            hasDefault: false;
                            hasRuntimeDefault: false;
                            identity: undefined;
                            isAutoincrement: false;
                            isPrimaryKey: false;
                            name: string;
                            notNull: false;
                            tableName: "bank_account";
                        },
                    >;
                };
                dialect: "pg";
                isAlias: false;
                name: "bank_account";
                schema: "b2b";
            },
        >,
        "enableRLS",
    > = ...

    Operator-maintained registry of CFX's own bank accounts — the primary enumeration behind bank_account_view, and the reason BANK_INSTRUCTION and OBSERVED are backstops rather than the registry itself.

    Most accounts are expected to live here. The one typed table (virtual_account) covers Victor and RouteFusion virtual accounts, and bank's rails infer the deposit-instruction accounts. See § 4.7.

    Ownership is OPTIONAL — a CFX-owned pool has no customer; the columns exist for the per-customer FBOs (§ 4.5). The check constraint therefore forbids only the both-set case rather than requiring exactly one.

    parentKey is the view key of the account this one sits inside, and carries no foreign key: it can name a row from any arm of bank_account_view, so no single-table FK — self-referencing or otherwise — could express every case. This matches how parent_key already works in the other arms — nothing enforces the target exists there either.