Jumar.Scope (Jumar v0.1.0)
View SourceDefines the scope of the caller to be used throughout the app.
The Jumar.Scope allows public interfaces to receive
information about the caller, such as if the call is initiated from an
end-user, and if so, which user. Additionally, such a scope can carry fields
such as "super user" or other privileges for use as authorization, or to
ensure specific code paths can only be access for a given scope.
It is useful for logging as well as for scoping pubsub subscriptions and broadcasts when a caller subscribes to an interface or performs a particular action.
Feel free to extend the fields on this struct to fit the needs of growing application requirements.
Summary
Functions
Creates a scope for the given user.
Types
@type t() :: %Jumar.Scope{user: Jumar.Accounts.User.t() | nil}
Functions
@spec for_user(Jumar.Accounts.User.t() | nil) :: t()
Creates a scope for the given user.
Returns nil if no user is given.