moving custom ecto types in context folders

This commit is contained in:
Alexander Strizhakov 2020-06-16 17:50:33 +03:00
commit 3c2cee33ad
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
26 changed files with 102 additions and 74 deletions

View file

@ -23,9 +23,9 @@ defmodule Pleroma.ConfigDB do
]
schema "config" do
field(:key, Pleroma.Config.Type.Atom)
field(:group, Pleroma.Config.Type.Atom)
field(:value, Pleroma.Config.Type.BinaryValue)
field(:key, Pleroma.EctoType.Config.Atom)
field(:group, Pleroma.EctoType.Config.Atom)
field(:value, Pleroma.EctoType.Config.BinaryValue)
field(:db, {:array, :string}, virtual: true, default: [])
timestamps()

View file

@ -1,22 +0,0 @@
defmodule Pleroma.Config.Type.Atom do
use Ecto.Type
def type, do: :atom
def cast(key) when is_atom(key) do
{:ok, key}
end
def cast(key) when is_binary(key) do
{:ok, Pleroma.ConfigDB.string_to_elixir_types(key)}
end
def cast(_), do: :error
def load(key) do
{:ok, Pleroma.ConfigDB.string_to_elixir_types(key)}
end
def dump(key) when is_atom(key), do: {:ok, inspect(key)}
def dump(_), do: :error
end

View file

@ -1,23 +0,0 @@
defmodule Pleroma.Config.Type.BinaryValue do
use Ecto.Type
def type, do: :term
def cast(value) when is_binary(value) do
if String.valid?(value) do
{:ok, value}
else
{:ok, :erlang.binary_to_term(value)}
end
end
def cast(value), do: {:ok, value}
def load(value) when is_binary(value) do
{:ok, :erlang.binary_to_term(value)}
end
def dump(value) do
{:ok, :erlang.term_to_binary(value)}
end
end