Equations
- self.asEntityUID = Option.map (fun (x : String) => { ty := self.ty, eid := x }) self.id
Instances For
- principal : PartialEntityUID
- action : Spec.EntityUID
- resource : PartialEntityUID
- context : Option (Data.Map Spec.Attr Spec.Value)
Instances For
- attrs : Option (Data.Map Spec.Attr Spec.Value)
- ancestors : Option (Data.Set Spec.EntityUID)
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
A subset of an Entities store.
When a MaybeEntityData is none, it means that the entity is not present in
the backing store.
Instances For
def
Cedar.TPE.PartialEntities.get
{α : Type u_1}
(es : PartialEntities)
(uid : Spec.EntityUID)
(f : PartialEntityData → Option α)
:
Option α
Equations
- es.get uid f = (Cedar.Data.Map.find? es uid).bind f
Instances For
Equations
- es.ancestors uid = es.get uid Cedar.TPE.PartialEntityData.ancestors
Instances For
Equations
- es.tags uid = es.get uid Cedar.TPE.PartialEntityData.tags
Equations
- es.attrs uid = es.get uid Cedar.TPE.PartialEntityData.attrs
Instances For
Equations
- Cedar.TPE.partialIsValid o f = (Option.map f o).getD true
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cedar.TPE.entitiesIsValid.entityIsValid
(env : Validation.TypeEnv)
(p : Spec.EntityUID × PartialEntityData)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cedar.TPE.entitiesIsValid.instanceOfActionSchema
(es : PartialEntities)
(p : Spec.EntityUID × Validation.ActionSchemaEntry)
:
Equations
Instances For
def
Cedar.TPE.requestAndEntitiesIsValid
(env : Validation.TypeEnv)
(req : PartialRequest)
(es : PartialEntities)
:
Equations
- Cedar.TPE.requestAndEntitiesIsValid env req es = (Cedar.TPE.requestIsValid env req && Cedar.TPE.entitiesIsValid env es)
Instances For
- typeError : ConcretizationError
- requestsDoNotMatch : ConcretizationError
- entitiesDoNotMatch : ConcretizationError
- invalidEnvironment : ConcretizationError
Instances For
def
Cedar.TPE.isValidAndConsistent
(schema : Validation.Schema)
(req₁ : Spec.Request)
(es₁ : Spec.Entities)
(req₂ : PartialRequest)
(es₂ : PartialEntities)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cedar.TPE.isValidAndConsistent.requestIsConsistent
(req₁ : Spec.Request)
(req₂ : PartialRequest)
(env : Validation.TypeEnv)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cedar.TPE.isValidAndConsistent.entitiesIsConsistent
(es₁ : Spec.Entities)
(es₂ : PartialEntities)
(env : Validation.TypeEnv)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- entities.asPartial = Cedar.Data.Map.mapOnValues Cedar.Spec.EntityData.asPartial entities
Instances For
subtle: a missing entity bahaves the same way as a concrete entity with empty attrs, ancestors, and tags. This is because
- Cedar doesn't have a way to check for a presence of a particular entity id in the database.
- Each of the cedar operations behave the same way when encountering a missing entity compared to a empty one.
This is a necessary condition for the soundness of batched entity loading.
Equations
- Cedar.TPE.MaybeEntityData.asPartial none = { attrs := some Cedar.Data.Map.empty, ancestors := some Cedar.Data.Set.empty, tags := some Cedar.Data.Map.empty }
- Cedar.TPE.MaybeEntityData.asPartial (some d) = d.asPartial