After 'mix phx.gen.auth Accounts User users'.

This commit is contained in:
2026-04-21 12:38:51 +02:00
parent 7f840bbf0d
commit 0a07cdf5d2
28 changed files with 3285 additions and 0 deletions

View File

@ -0,0 +1,33 @@
defmodule GenericRestServer.Accounts.Scope do
@moduledoc """
Defines the scope of the caller to be used throughout the app.
The `GenericRestServer.Accounts.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.
"""
alias GenericRestServer.Accounts.User
defstruct user: nil
@doc """
Creates a scope for the given user.
Returns nil if no user is given.
"""
def for_user(%User{} = user) do
%__MODULE__{user: user}
end
def for_user(nil), do: nil
end