View Source Permit.Ecto.Permissions (permit_ecto v0.1.1)
Defines the application's permission set. Replaces Permit.Permissions
when
Permit.Ecto
is used, but its syntax is identical.
example
Example
defmodule MyApp.Permissions do
use Permit.Permissions, actions_module: Permit.Actions.CrudActions
@impl true
def can(%MyApp.User{role: :admin}) do
permit()
|> all(Article)
end
def can(%MyApp.User{id: user_id}) do
permit()
|> read(Article)
|> all(Article, author_id: user_id)
end
def can(_), do: permit()
end
condition-conversion
Condition conversion
Conditions defined using standard operators such as equality, inequality, greater-than, less-than,
LIKE and ILIKE are converted automatically (see Permit.Operators
).
Other conditions, such as those given as functions,
Refer to Permit.Permissions
documentation for more examples of usage.
Link to this section Summary
Link to this section Functions
Link to this function
construct_query(permissions, action, resource, subject, actions_module, opts \\ %{})
View Source@spec construct_query( Permit.Permissions.t(), Permit.Types.action_group(), Permit.Types.object_or_resource_module(), Permit.Types.subject(), module(), map() ) :: {:ok, Ecto.Query.t()} | {:error, term()}