calcinator v1.3.0 Calcinator.Authorization.Can
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.
Summary
Functions
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]
Macros
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
Types
Functions
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]
.
Macros
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
.