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_model
s 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_model
s where subject
can do action
on the combined
association path of [association_model | association_ascent]
.