View Source Permit.Ecto.Resolver (permit_ecto v0.2.2)

Implementation of Permit.ResolverBase behaviour, resolving and checks authorization of records or lists of records based on automatic Ecto query construction, taking parameters as input and :base_query and :finalize_query functions as means to transform the query based on e.g. current controller context.

For a resolver implementation not using Ecto for fetching resources, see Permit.Resolver from the permit library.

The usage of Permit.Ecto.Resolver as opposed to Permit.Resolver in permit_ecto library occurs because in the m:Permit.Ecto.__using__/1 macro the resolver_module/0 function is overridden to point to Permit.Ecto.Resolver.

This module is to be considered a private API of the authorization framework. It should not be directly used by application code, but rather by wrappers providing integration with e.g. Plug or LiveView.

Link to this section Summary

Link to this section Functions

Link to this function

authorize_and_preload_all!(subject, authorization_module, resource_module, action, meta)

View Source
@spec authorize_and_preload_all!(
  Permit.Types.subject(),
  module(),
  Permit.Types.resource_module(),
  Permit.Types.action_group(),
  map()
) :: {:authorized, [struct()]} | :unauthorized | {:not_found, term()}
Link to this function

authorize_and_preload_one!(subject, authorization_module, resource_module, action, meta)

View Source
@spec authorize_and_preload_one!(
  Permit.Types.subject(),
  module(),
  Permit.Types.resource_module(),
  Permit.Types.action_group(),
  map()
) :: {:authorized, [struct()]} | :unauthorized
Link to this function

authorized?(subject, authorization_module, resource_or_module, action)

View Source