Packages

A Mux API Wrapper to convert API resonponse to embedded schema

Current section

Files

Jump to
mux_wrapper lib embedded_schema playback.ex
Raw

lib/embedded_schema/playback.ex

defmodule MuxWrapper.EmbeddedSchema.Playback do
@moduledoc "Playback{} struct"
use Ecto.Schema
import Ecto.Changeset
@policy_options %{
public: :public,
signed: :signed
}
@primary_key false
embedded_schema do
field(:id, :string)
field(:policy, :string)
end
@doc false
@all_fields ~w(id policy)a
def changeset(%__MODULE__{} = struct, params) do
struct
|> cast(params, @all_fields)
end
@doc false
def cast(%__MODULE__{} = struct, params \\ %{}) do
struct
|> cast(params, @all_fields)
|> apply_changes
end
@doc """
Return policy public atom `:public`
"""
def policy_public, do: @policy_options.public
@doc """
Return policy private atom `:signed`
"""
def policy_private, do: @policy_options.signed
end