AbstractOptionalqueryContext: EntityQueryContextEnforcingEntityAssociationLoader for this entity
OptionalqueryContext: EntityQueryContextAuthorizationResultBasedEntityAssociationLoader for this entity
all underlying fields from this entity's database data
all underlying fields from this entity's data
Get a underlying field from this entity's data
the field to get
the value of the field or undefined if not loaded with that field
the ViewerContext authorized to read this entity
StaticcreatorVend mutator for creating a new entity in given query context.
viewer context of creating user
query context in which to perform the create
mutator for creating an entity
StaticcreatorVend mutator for creating a new entity in given query context.
viewer context of creating user
query context in which to perform the create
mutator for creating an entity
StaticdeleterVend mutator for deleting an existing entity in given query context.
entity to delete
query context in which to perform the delete
mutator for deleting existingEntity
StaticdeleterVend mutator for deleting an existing entity in given query context.
entity to delete
query context in which to perform the delete
mutator for deleting existingEntity
StaticinvalidationUtilities for entity invalidation. Call these manually to keep entity cache consistent when performing operations outside of the entity framework.
StaticloaderVend loader for loading an entity in a given query context.
viewer context of loading user
query context in which to perform the load
StaticloaderVend loader for loading an entity in a given query context.
viewer context of loading user
query context in which to perform the load
StaticupdaterVend mutator for updating an existing entity in given query context.
entity to update
query context in which to perform the update
mutator for updating existingEntity
StaticupdaterVend mutator for updating an existing entity in given query context.
entity to update
query context in which to perform the update
mutator for updating existingEntity
Entity is a privacy-first data model.
A instance of an entity represents a single "row" of persisted data in a database that a viewer, represented by the corresponding ViewerContext, has permission to read.
Create, read, update, and delete permissions for an entity are declaratively defined using an EntityPrivacyPolicy.
Entites are loaded through an EntityLoader, which is responsible for orchestrating fetching, caching, and authorization of reading "rows".
Entities are mutated and deleted through an EntityMutator, which is responsible for orchestrating database writes, cache invalidation, and authorization of writing "rows".
All concrete entity implementations should extend this class and provide their own EntityCompanionDefinition.
Generic type parameters: TFields - the shape of the underlying data for this entity, typically corresponding to a database table schema. The mapping from TFields to the actual database schema is defined in the EntityCompanionDefinition for this entity. TIDField - the key of the ID field in TFields, which must be non-nullable and is used to uniquely identify individual entities TViewerContext - the type of ViewerContext that can be used with this entity TSelectedFields - the keys of fields in TFields that belong to this entity; used when there are multiple entities backed by the same underlying table with different field subsets