QueryModelProfile
Record layout and invariants of one built-in QueryModel.
Every snapshot/event-stream difference that the query runtime depends on lives here, so gateways, validators, maskers and backends ask the profile instead of branching on QueryModel themselves. Custom models have no profile; operations that need one of these facts reject them.
Inheritors
Properties
When the record last changed: the default orderBy of FIRST and LAST metrics.
When the record's aggregate got its first event, or null when a record does not say.
Unique record identity: the target of id filters and the tie-breaker of every cursor.
Logical field that holds the user payload; masked fields must live below it.
Field that names the payload type of each record, or null when the payload is monomorphic.
The field an authenticated caller scope must pin when requireAuthenticatedScope is on: the tenant, the isolation boundary of every built-in model.
Fields that every record of this model carries, independent of the aggregate.
The element whose variants are typed payloads (an event stream's body), or null for a monomorphic payload.
Functions
Returns the scope appended to a query whose filter does not scope it explicitly, or MatchAllFilter when the model has no implicit scope.
The logical field a system-field filter (ID, TENANT_ID, DELETION, ...) targets: identityField for the record identity, the shared record metadata otherwise.
Rejects a projection that would return records the model cannot interpret.