Class EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>Abstract

Privacy policy for an entity.

A privacy policy declares lists of PrivacyPolicyRule for create, read, update, and delete actions for an entity and provides logic for authorizing an entity against rules.

Evaluation of a list of rules is performed according the following example. This allows constructing of complex yet testable permissioning logic for an entity.

foreach rule in rules:
return authorized if rule allows
return not authorized if rule denies
continue to next rule if rule skips
return not authorized if all rules skip

Type Parameters

Constructors

Properties

createRules: readonly PrivacyPolicyRule<
    TFields,
    TID,
    TViewerContext,
    TEntity,
    TSelectedFields,
>[] = []
deleteRules: readonly PrivacyPolicyRule<
    TFields,
    TID,
    TViewerContext,
    TEntity,
    TSelectedFields,
>[] = []
readRules: readonly PrivacyPolicyRule<
    TFields,
    TID,
    TViewerContext,
    TEntity,
    TSelectedFields,
>[] = []
updateRules: readonly PrivacyPolicyRule<
    TFields,
    TID,
    TViewerContext,
    TEntity,
    TSelectedFields,
>[] = []

Methods