defmodule BreakGlass.DefaultUserProvider do @moduledoc """ Default implementation of `BreakGlass.UserProvider` that returns the raw `attrs` map unchanged. This enables zero-config use in tests and simple host applications. For production use, implement your own `BreakGlass.UserProvider` module that returns your application's user struct. ## Example config :break_glass_ex, user_provider: BreakGlass.DefaultUserProvider When `build_user/1` is called, it returns the map passed to it directly, which contains at minimum `:email`, `:sentinel_id`, `:authenticated_at`, and `:break_glass`. """ @behaviour BreakGlass.UserProvider @doc """ Returns the `attrs` map unchanged. """ @impl BreakGlass.UserProvider def build_user(attrs), do: attrs end