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

Types

t()

A module that implements the Calcinator.Authorization.can?/3 callback

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

Link to this macro __using__(list) View Source (macro)

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.

Link to this function filter_associations_can(model, subject, action, callback_module) View Source
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

Link to this function filter_can(models, subject, action, callback_module) View Source

Filters models to only those where subject can do action to a specific model in models.

Link to this function filter_can(association_models, association_ascent, subject, action, callback_module) View Source

Filters association_models to only those association_models where subject can do action on the combined association path of [association_model | association_ascent].