Entity
    Preparing search index...

    Class Entity<TFields, TIDField, TViewerContext, TSelectedFields>Abstract

    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

    Type Parameters

    Hierarchy (View Summary)

    Index

    Methods