Current section

Files

Jump to
scrapped_twitch_api lib api_json item doc doc.ex
Raw

lib/api_json/item/doc/doc.ex

defmodule TwitchApi.ApiJson.Item.Doc do
@moduledoc """
Provides an ecto schema for working with twitch api json doc items.
"""
use Ecto.Schema
alias TwitchApi.ApiJson.Item.Doc.{Request, Response}
@type t :: %__MODULE__{
requests: Request.t(),
responses: Response.t()
}
@primary_key false
embedded_schema do
embeds_one(:requests, Request)
embeds_one(:responses, Response)
end
@doc """
Provides the changeset for twitch api json doc items
"""
@spec changeset(%__MODULE__{}, %{binary => %{binary => [binary]}}) :: Ecto.Changeset.t()
def changeset(struct, params) do
Ecto.Changeset.cast(struct, params, [])
|> Ecto.Changeset.cast_embed(:requests)
|> Ecto.Changeset.cast_embed(:responses)
end
end