defmodule Flagsmith.Schemas.Flags do use TypedEctoSchema alias Flagsmith.Configuration @moduledoc """ Ecto schema representing a Flagsmith Flags structure, containing a map of ids to flags, and a client configuration field. """ @primary_key false typed_embedded_schema do field(:flags, :map, default: %{}) field(:__configuration__, :map) end @doc false @spec new(flags_map :: map(), config :: Configuration.t()) :: __MODULE__.t() def new(flags_map, %Configuration{} = config), do: %__MODULE__{flags: flags_map, __configuration__: config} end