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

    Admin-tier read + write over bank. Operators onboard new partner banks here; the DB row set is now authoritative (the historical compile-time BankId literal union is retained as a string alias for self-doc, not as a constraint).

    Bank-shaped vendors (dart, metcap) get special-case behavior across services — see BankVendor in db/drizzle/schema/product_vendor.ts. New banks created here arrive without that pairing and stay non-bank from a route's perspective unless someone wires up a corresponding vendor entry separately.

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    Methods

    • Create a new bank. The slug (id) is the public-facing identifier and must match ^[a-z][a-z0-9_-]{1,31}$ to keep it URL- and grep-friendly. Returns BANK_ALREADY_EXISTS if a bank with the same slug is already onboarded.

      Parameters

      • input: {
            data: {
                description?: string | null;
                fdicCert?: string | null;
                name: string;
                routingNumber?: string | null;
            };
            id: string;
        }

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

    • Update mutable fields on a bank. Pass null for nullable fields to clear them. Omitting a field leaves it untouched. The slug (id) is not editable — references across the system store the literal slug.

      Parameters

      • input: {
            data: {
                description?: string | null;
                fdicCert?: string | null;
                name?: string;
                routingNumber?: string | null;
            };
            id: string;
        }

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