Bonfire.Data.AccessControl.Acl (Bonfire v1.0.0-social-rc.2.13)

View Source

Conceptually, a complete list of all permissions for everybody. In practice, it's a partial specification, and anything not explicitly granted is assumed to be denied.

Can be reused to secure multiple objects, thus exists independently of any object.

Summary

Types

t()

@type t() :: %Bonfire.Data.AccessControl.Acl{
  __meta__: Ecto.Schema.Metadata.t(),
  caretaker: Ecto.Schema.has_one(Bonfire.Data.Identity.Caretaker.t()) | nil,
  controlled: Ecto.Schema.has_many(Bonfire.Data.AccessControl.Controlled.t()),
  controlled_count: integer() | nil,
  extra_info: Ecto.Schema.has_one(Bonfire.Data.Identity.ExtraInfo.t()) | nil,
  grants: Ecto.Schema.has_many(Bonfire.Data.AccessControl.Grant.t()),
  grants_count: integer() | nil,
  id: Needle.UID.t() | nil,
  named: Ecto.Schema.has_one(Bonfire.Data.Identity.Named.t()) | nil,
  stereotyped:
    Ecto.Schema.has_one(Bonfire.Data.AccessControl.Stereotyped.t()) | nil
}

Functions

changeset(acl \\ %Acl{}, params)

delete(struct, key)

get(struct, key, default \\ nil)

put(struct, key, val)