Merge branch 'fix/notification-type' into 'develop'
[akkoma] / lib / pleroma / config / type / atom.ex
1 defmodule Pleroma.Config.Type.Atom do
2 use Ecto.Type
3
4 def type, do: :atom
5
6 def cast(key) when is_atom(key) do
7 {:ok, key}
8 end
9
10 def cast(key) when is_binary(key) do
11 {:ok, Pleroma.ConfigDB.string_to_elixir_types(key)}
12 end
13
14 def cast(_), do: :error
15
16 def load(key) do
17 {:ok, Pleroma.ConfigDB.string_to_elixir_types(key)}
18 end
19
20 def dump(key) when is_atom(key), do: {:ok, inspect(key)}
21 def dump(_), do: :error
22 end