Current section
Files
Jump to
Current section
Files
lib/embedded_schema/settings.ex
defmodule MuxWrapper.EmbeddedSchema.Settings do @moduledoc false use Ecto.Schema import Ecto.Changeset alias MuxWrapper.EmbeddedSchema.OverlaySettings @primary_key false embedded_schema do field(:url, :string) embeds_one(:overlay_settings, OverlaySettings, on_replace: :delete) end @doc false @all_fields ~w(url)a def changeset(%__MODULE__{} = struct, params) do struct |> cast(params, @all_fields) |> cast_embed(:overlay_settings, with: &OverlaySettings.changeset/2) end @doc false def cast(%__MODULE__{} = struct, params \\ %{}) do struct |> cast(params, @all_fields) |> cast_embed(:overlay_settings, with: &OverlaySettings.changeset/2) |> apply_changes endend