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

    Class ManualBankAccountAdminService

    Writes to the operator-maintained bank-account registry behind b2b.bank_account_view (BANK_ACCOUNT_VIEW.md § 4.7).

    Deliberately uncached, unlike BankAdminService. Banks are read on request paths and earn a ServiceCache; this table is admin-only and low-traffic, so a cache would buy nothing and add an invalidation surface that can go stale. Add one when a read path actually demands it.

    Two of the create-time checks exist to keep the operator's mental model and the view's contents in agreement — see ManualBankAccountAdminService.create.

    Index
    db: B2bDatabase
    • Register an account.

      Two checks run before the insert, and both exist so the operator learns about a problem while they can still act on it rather than by noticing a record that never appears in the view:

      • MANUAL_BANK_ACCOUNT_ALREADY_EXISTS surfaces the partial unique index as a functional error. The number is already registered; that is a form outcome, not a constraint-violation throw.
      • ACCOUNT_REGISTERED_BY_PROVIDER catches an account victor_account or virtual_account already owns. Those outrank a manual registration (§ 4.7), so the MANUAL arm would anti-join the row straight back out.

      Parameters

      • input: WritableFields & { discoveredFrom?: "MANUAL" | "OBSERVED" }

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

    • Soft delete. Stamps status and deletedAt together — deletedAt is what the view's anti-joins read, status is the surfaced projection, and one without the other is a bug.

      The account is not lost: retiring the registration hands it back to the OBSERVED backstop, and frees its key for a fresh registration.

      Parameters

      • __namedParameters: { id: string }

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

    • Parameters

      • input: {
            accountNumbers?: string[];
            bankIds?: string[];
            customerIds?: string[];
            ids?: string[];
            includeDeleted?: boolean;
            orderBy?: DbOrderByCriterion<
                Omit<
                    PgTableWithColumns<
                        {
                            columns: {
                                accountNumber: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                bankId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgIntegerBuilder,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                bankName: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                createdAt: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                currency: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasDefault<SetNotNull<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                customerId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgIntegerBuilder,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                deletedAt: PgBuildColumn<
                                    "manual_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: "manual_bank_account";
                                    },
                                >;
                                discoveredFrom: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasDefault<Set$Type<(...), (...)>>,
                                    {
                                        data: (...) | (...);
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                externalId: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasRuntimeDefault<SetNotNull<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                id: PgBuildColumn<
                                    "manual_bank_account",
                                    HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...) | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: "byDefault";
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                identityId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgIntegerBuilder,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                ledgerAccountId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgIntegerBuilder,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                memo: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                name: PgBuildColumn<
                                    "manual_bank_account",
                                    SetNotNull<PgTextBuilder<(...)>>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                notes: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                organizationId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgIntegerBuilder,
                                    {
                                        data: number;
                                        dataType: "number int32";
                                        driverParam: (...)
                                        | (...);
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                parentKey: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                provider: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                providerAccountId: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                registeredBy: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                routingNumber: PgBuildColumn<
                                    "manual_bank_account",
                                    PgTextBuilder<[(...), ...(...)[]]>,
                                    {
                                        data: string;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: false;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                status: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasDefault<Set$Type<(...), (...)>>,
                                    {
                                        data: (...) | (...) | (...);
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                type: PgBuildColumn<
                                    "manual_bank_account",
                                    Set$Type<SetNotNull<(...)>, ManualBankAccountType>,
                                    {
                                        data: ManualBankAccountType;
                                        dataType: "string";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: false;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                                updatedAt: PgBuildColumn<
                                    "manual_bank_account",
                                    SetHasDefault<SetHasDefault<(...)>>,
                                    {
                                        data: Date;
                                        dataType: "object date";
                                        driverParam: string;
                                        enumValues: undefined;
                                        generated: undefined;
                                        hasDefault: true;
                                        hasRuntimeDefault: false;
                                        identity: undefined;
                                        isAutoincrement: false;
                                        isPrimaryKey: false;
                                        name: string;
                                        notNull: true;
                                        tableName: "manual_bank_account";
                                    },
                                >;
                            };
                            dialect: "pg";
                            name: "manual_bank_account";
                            schema: "b2b";
                        },
                    >,
                    "enableRLS",
                >,
                "name"
                | "createdAt"
                | "updatedAt",
            >[];
            page?: number;
            pageSize?: number;
            q?: string;
            routingNumbers?: string[];
            statuses?: ("ACTIVE" | "CLOSED" | "DELETED")[];
            types?: ManualBankAccountType[];
        } = {}
        • OptionalaccountNumbers?: string[]
        • OptionalbankIds?: string[]
        • OptionalcustomerIds?: string[]
        • Optionalids?: string[]
        • OptionalincludeDeleted?: boolean
        • OptionalorderBy?: DbOrderByCriterion<
              Omit<
                  PgTableWithColumns<
                      {
                          columns: {
                              accountNumber: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              bankId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgIntegerBuilder,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...)
                                      | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              bankName: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              createdAt: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: Date;
                                      dataType: "object date";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              currency: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasDefault<SetNotNull<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              customerId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgIntegerBuilder,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...)
                                      | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              deletedAt: PgBuildColumn<
                                  "manual_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: "manual_bank_account";
                                  },
                              >;
                              discoveredFrom: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasDefault<Set$Type<(...), (...)>>,
                                  {
                                      data: (...) | (...);
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              externalId: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasRuntimeDefault<SetNotNull<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              id: PgBuildColumn<
                                  "manual_bank_account",
                                  HasIdentity<SetIsPrimaryKey<(...)>, "byDefault">,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...) | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: "byDefault";
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              identityId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgIntegerBuilder,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...)
                                      | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              ledgerAccountId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgIntegerBuilder,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...)
                                      | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              memo: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              name: PgBuildColumn<
                                  "manual_bank_account",
                                  SetNotNull<PgTextBuilder<(...)>>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              notes: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              organizationId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgIntegerBuilder,
                                  {
                                      data: number;
                                      dataType: "number int32";
                                      driverParam: (...)
                                      | (...);
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              parentKey: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              provider: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              providerAccountId: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              registeredBy: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              routingNumber: PgBuildColumn<
                                  "manual_bank_account",
                                  PgTextBuilder<[(...), ...(...)[]]>,
                                  {
                                      data: string;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: false;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              status: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasDefault<Set$Type<(...), (...)>>,
                                  {
                                      data: (...) | (...) | (...);
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              type: PgBuildColumn<
                                  "manual_bank_account",
                                  Set$Type<SetNotNull<(...)>, ManualBankAccountType>,
                                  {
                                      data: ManualBankAccountType;
                                      dataType: "string";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: false;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                              updatedAt: PgBuildColumn<
                                  "manual_bank_account",
                                  SetHasDefault<SetHasDefault<(...)>>,
                                  {
                                      data: Date;
                                      dataType: "object date";
                                      driverParam: string;
                                      enumValues: undefined;
                                      generated: undefined;
                                      hasDefault: true;
                                      hasRuntimeDefault: false;
                                      identity: undefined;
                                      isAutoincrement: false;
                                      isPrimaryKey: false;
                                      name: string;
                                      notNull: true;
                                      tableName: "manual_bank_account";
                                  },
                              >;
                          };
                          dialect: "pg";
                          name: "manual_bank_account";
                          schema: "b2b";
                      },
                  >,
                  "enableRLS",
              >,
              "name"
              | "createdAt"
              | "updatedAt",
          >[]
        • Optionalpage?: number

          1-based page; defaults to 1.

        • OptionalpageSize?: number
        • Optionalq?: string

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

        • OptionalroutingNumbers?: string[]
        • Optionalstatuses?: ("ACTIVE" | "CLOSED" | "DELETED")[]
        • Optionaltypes?: ManualBankAccountType[]

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

    • Update mutable fields. Pass null to clear a nullable field; omitting one leaves it untouched.

      discoveredFrom is deliberately absent: how a row first arrived is a historical fact about the operator loop, not a field to rewrite. status excludes DELETED at the type level — that transition belongs to delete, which stamps deletedAt alongside it.

      Parameters

      • input: { id: string; status?: "ACTIVE" | "CLOSED" } & Partial<WritableFields>

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