# `Mailglass.PubSub.Topics`
[🔗](https://github.com/szTheory/mailglass/blob/v1.0.0/lib/mailglass/pub_sub/topics.ex#L1)

Typed topic builder for `Mailglass.PubSub` (SEND-05, D-27). Every topic
is prefixed `mailglass:` — Phase 6 `LINT-06 PrefixedPubSubTopics`
enforces the prefix at lint time.

## Topics emitted

- `events/1` — `"mailglass:events:#{tenant_id}"` — tenant-wide event stream
- `events/2` — `"mailglass:events:#{tenant_id}:#{delivery_id}"` — per-delivery
- `deliveries/1` — `"mailglass:deliveries:#{tenant_id}"` — delivery-list stream

Projector broadcasts on BOTH `events/1` and `events/2` after every
successful projection update (D-04).

# `deliveries`
*since 0.1.0* 

```elixir
@spec deliveries(String.t()) :: String.t()
```

Returns the delivery-list stream topic for the given tenant.

# `events`
*since 0.1.0* 

```elixir
@spec events(String.t()) :: String.t()
```

Returns the tenant-wide event stream topic.

# `events`
*since 0.1.0* 

```elixir
@spec events(String.t(), binary()) :: String.t()
```

Returns the per-delivery event stream topic.

---

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