# `Chimeway.Policy.Settings`
[🔗](https://github.com/jonlunsford/chimeway/blob/v1.0.0/lib/chimeway/policy/settings.ex#L1)

Per-recipient policy settings for quiet hours and delivery caps.

# `evaluate`

```elixir
@spec evaluate(
  Chimeway.Delivery.t(),
  keyword()
) :: {:ok, :proceed} | {:suppress, atom()} | {:defer, map()}
```

Evaluates quiet-hours and delivery-cap suppression for a delivery.

# `get_settings`

```elixir
@spec get_settings(String.t()) :: Chimeway.Policy.Settings.Setting.t() | nil
```

Fetches the policy settings row for a recipient, or nil.

# `upsert_settings`

```elixir
@spec upsert_settings(map()) ::
  {:ok, Chimeway.Policy.Settings.Setting.t()} | {:error, Ecto.Changeset.t()}
```

Upserts policy settings for one recipient.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
