Optional_MongoDB ObjectId (undefined until saved).
Durable, opaque ledger key.
Materialized balance in minor units — derived from the ledger.
The bank branch's templatePath this account lives at.
The bank's corpo affiliation (resolved at open; readable via corpo).
Created timestamp (set on construction).
Whether the account is open for operations.
The owner's designated receive-by-identity account.
Durable key of the account owner (a templatePath).
Last updated timestamp (set on every save).
StaticcollectionCollection name (must be overridden in subclass).
StaticpersistentDelete this object from MongoDB.
Unlike the former Persistable.delete, there is no
StuffApi.destruct cascade — a Document is not registered, so there
is no runtime instance to unregister.
ProtectedfromLoad data from a MongoDB document into this object.
Symmetric to toDocument: marshallers transform their assigned
fields' raw values via fromStored before bracket-assign hits the
runtime setter.
ProtectedgetGet all persistent fields for this class (mixin + own declarations).
ProtectedgetProtectedpreloadPre-warm the marshaller cache for this instance's class via the async
resolver. Static counterpart Document.preloadFieldMarshallersFor is used
by the findById / find paths.
Save this object to MongoDB. Updates updatedAt automatically.
Pre-resolves any registered field marshallers via the async resolver
before the sync toDocument walk; the sync resolver lookup inside
toDocument then always hits a populated cache.
ProtectedtoConvert this object to a plain document for MongoDB.
Marshallers (declared via static fieldMarshallers on a mixin or
class) intercept their assigned fields: the runtime value-object
value is passed through marshaller.toStored before being written
into the doc. Fields without a marshaller pass through bracket-read
unchanged.
Static_Test seam — drop the cache so each test warms a fresh instance.
StaticcachedThe warmed read cache (empty until first warm → 0 reads).
StaticcachedSync balance read off the warmed cache; 0 for an unknown account.
StaticfindFind documents matching a query. Same construction story as findById.
StaticfindFind a document by MongoDB _id. Returns null if not found.
Construction is a plain new this() — the returned instance is NOT
registered with StuffApi and is NOT proxy-wrapped. Two calls for the
same id return two distinct instances (value semantics).
StaticpreloadStatic-context preload helper. Used by findById / find where
there's no instance to call preloadFieldMarshallers on yet, and
by Template._materialize for the same reason. Symmetric with the
protected instance method.
StaticputKeep the read cache in step after a posting / rebuild.
StaticsetWire the marshaller-resolution seam once at boot (and in tests).
Keeps Document free of a StuffApi import while still reaching
the Idea-rooted marshaller instances. sync mirrors
StuffApi.findByTemplatePath (returns the registered instance or
undefined); async mirrors StuffApi.singleton (resolves /
lazy-clones the instance, warming the cache sync then hits).
StaticwarmLoad all balances into the read cache. Called at boot + after rebuild.
Base for MongoDB-backed records. NOT in the Stuff hierarchy.