View Source Permit.Ecto.Permissions (permit_ecto v0.1.0)

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