Rephi.Authorization.Role (Rephi v0.0.2)
View SourceSchema and validations for roles in the authorization system.
Roles represent a collection of permissions that can be assigned to users. Roles support hierarchical inheritance, where child roles can inherit permissions from parent roles.
Fields
name
- Human-readable role name (e.g., "Administrator")slug
- Unique identifier for the role (e.g., "admin")description
- Optional description of the role's purpose
Associations
permissions
- Permissions directly assigned to this roleusers
- Users who have this role assignedparent_roles
- Roles this role inherits fromchild_roles
- Roles that inherit from this role
Examples
iex> changeset = Role.changeset(%Role{}, %{
...> name: "Content Manager",
...> slug: "content_manager",
...> description: "Can manage content and media"
...> })
iex> changeset.valid?
true
Summary
Functions
Validates and casts role attributes.
Functions
Validates and casts role attributes.
Required Fields
name
- Must be presentslug
- Must be present and unique
Validations
slug
must contain only lowercase letters, numbers, underscores, and hyphensslug
must be unique across all roles
Examples
iex> Role.changeset(%Role{}, %{name: "Admin", slug: "admin"})
%Ecto.Changeset{valid?: true}
iex> Role.changeset(%Role{}, %{name: "", slug: ""})
%Ecto.Changeset{valid?: false}
iex> Role.changeset(%Role{}, %{name: "Test", slug: "Invalid-Slug!"})
%Ecto.Changeset{valid?: false}