calcinator v5.0.0 Calcinator.Authorization.Can View Source
Calcinator.Authorization where filter_associations_can/3 and filter_can/3 are implemented in terms of can/3,
so only can/3 needs to be implemented.
Link to this section Summary
Functions
Uses Calcinator.Authorization.Can.filter_associations_can/4 for Calcinator.Authorization.filter_associations_can/3
and Calcinator.Authorization.Can.filter_can/4 for Calcinator.Authorization.filter_can/3, so using module only need
to implement Calcinator.Authorization.can?/3
nil out all associations where the subject can’t do action on the association’s model
Filters models to only those where subject can do action to a specific model in models
Filters association_models to only those association_models where subject can do action on the combined
association path of [association_model | association_ascent]
Link to this section Types
A module that implements the Calcinator.Authorization.can?/3 callback
Link to this section Functions
Uses Calcinator.Authorization.Can.filter_associations_can/4 for Calcinator.Authorization.filter_associations_can/3
and Calcinator.Authorization.Can.filter_can/4 for Calcinator.Authorization.filter_can/3, so using module only need
to implement Calcinator.Authorization.can?/3.
filter_associations_can(struct, Calcinator.Authorization.subject, Calcinator.Authorization.action, t) :: struct
filter_associations_can([struct], Calcinator.Authorization.subject, Calcinator.Authorization.action, t) :: [struct]
nil out all associations where the subject can’t do action on the association’s model
filter_can([struct], Calcinator.Authorization.subject, Calcinator.Authorization.action, t) :: [struct]
Filters models to only those where subject can do action to a specific model in models.
filter_can([struct], Calcinator.Authorization.association_ascent, Calcinator.Authorization.subject, Calcinator.Authorization.action, t) :: [struct]
Filters association_models to only those association_models where subject can do action on the combined
association path of [association_model | association_ascent].