Interface EntityCompanionDefinition<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>

Definition for constructing a companion for an entity. Defines the core set of objects used to power the entity framework for a particular type of entity.

Type Parameters

  • TFields extends object

  • TID extends NonNullable<TFields[TSelectedFields]>

  • TViewerContext extends ViewerContext

  • TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>

  • TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>

  • TSelectedFields extends keyof TFields = keyof TFields

Hierarchy

  • EntityCompanionDefinition

Properties

entityClass: IEntityClass<TFields, TID, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>

The concrete Entity class for which this is the definition.

entityConfiguration: EntityConfiguration<TFields>

The EntityConfiguration for this entity.

entitySelectedFields?: TSelectedFields[]

An optional subset of fields defined in the EntityConfiguration which belong to this entity. For use when multiple types of entities are backed by a single table (EntityConfiguration) yet only expose a subset of the fields.

mutationTriggers?: EntityMutationTriggerConfiguration<TFields, TID, TViewerContext, TEntity, TSelectedFields>

An optional list of EntityMutationTrigger for this entity.

mutationValidators?: EntityMutationValidator<TFields, TID, TViewerContext, TEntity, TSelectedFields>[]

An optional list of EntityMutationValidator for this entity.

privacyPolicyClass: IPrivacyPolicyClass<TPrivacyPolicy>

The EntityPrivacyPolicy class for this entity.

Generated using TypeDoc