Bonfire.UI.Boundaries.VerbPermissionsHelper (Bonfire v1.0.0-social-rc.3.22)
View SourceHelper functions for managing verb-level permissions in boundary UI components.
Summary
Functions
Reconstructs verb_permissions map from to_circles and exclude_circles lists.
Transforms ACL subject verb grants to verb permissions format for display.
Transforms the internal verb permissions format to direct verb grants, bypassing the role system.
Updates a single verb permission for a specific circle.
Functions
Reconstructs verb_permissions map from to_circles and exclude_circles lists.
This is the reverse of transform_to_circles_format/1, used to restore state when components are recreated (e.g., modal reopening).
Transforms ACL subject verb grants to verb permissions format for display.
Takes ACL grants structure: %{subject_id => %{subject: subject, grants: %{verb_id => grant}}}
Returns: {verb_permissions, to_circles}
Transforms the internal verb permissions format to direct verb grants, bypassing the role system.
Takes a map like: %{"like" => %{"circle_id_1" => :can, "circle_id_2" => :cannot}, "boost" => %{"circle_id_1" => :can}}
Returns: {to_circles, verb_grants}
to_circles contains just the circles without roles: [{circle, nil}] verb_grants contains direct verb permissions: [{circle_id, verb, value}]
Example output: {[{%{id: "circle_1"}, nil}, {%{id: "circle_2"}, nil}], [{"circle_1", :like, true}, {"circle_1", :boost, true}, {"circle_2", :like, false}, {"circle_2", :boost, false}]}
Updates a single verb permission for a specific circle.