lib/auth/assertion.ex
defmodule Rivet.Auth.Assertion do
@moduledoc """
Used for standardizing auth assertion checks.
Passed in when declaring what type of auth is needed
"""
defstruct action: :none,
domain: :global,
app: nil,
ref_id: nil,
fallback: false
@type t :: %__MODULE__{
action: atom(),
# if CXS app auth allowed, match this app
app: nil | atom(),
domain: atom(),
# item.id of item defined by domain
ref_id: nil | String.t(),
# if key above doesn't work, should we check global privs?
fallback: boolean()
}
end