Thin facade over the host-configured repo for mailglass_inbound.
The sibling package does not own a repo. Host applications configure one via
config :mailglass_inbound, :repo, MyApp.Repo.
Schema prefix injection (v2.0)
Every delegated read/write injects prefix: MailglassInbound.Config.schema() via
Keyword.put_new, routing all operations to the configured Postgres schema
("mailglass" by default, "public" for pre-2.0 opt-out). An explicit
caller-supplied :prefix wins over the injected default (INB-01).
transact/2 and multi/2 do NOT inject prefix. The inner insert/2, one/2,
all/2, and get/3 calls inside a transaction carry their own prefix via the
facade. Inbound has no Multi builders today (multi_opts/1 is deferred); a future
raw caller that passes an inbound table to a non-facade path must qualify inline.
Summary
Functions
@spec all( Ecto.Queryable.t(), keyword() ) :: [struct()]
@spec get(Ecto.Queryable.t(), term(), keyword()) :: struct() | nil
@spec insert( Ecto.Changeset.t() | struct(), keyword() ) :: {:ok, struct()} | {:error, Ecto.Changeset.t()}
@spec one( Ecto.Queryable.t(), keyword() ) :: struct() | nil