projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
in dev, allow dev FE
[akkoma]
/
lib
/
pleroma
/
config_db.ex
diff --git
a/lib/pleroma/config_db.ex
b/lib/pleroma/config_db.ex
index 2c3c0cb5cde485f0a28e1728db12bf8ebf9b6998..9e4e6f3ea7ae5b91c4e1e109faef1510a6732e07 100644
(file)
--- a/
lib/pleroma/config_db.ex
+++ b/
lib/pleroma/config_db.ex
@@
-1,5
+1,5
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-202
0
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-202
1
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.ConfigDB do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.ConfigDB do
@@
-46,13
+46,13
@@
defmodule Pleroma.ConfigDB do
from(c in ConfigDB, where: c.group == ^group) |> Repo.all()
end
from(c in ConfigDB, where: c.group == ^group) |> Repo.all()
end
- @spec get_
all_by_group_and_key(atom() | String.t(), atom() | String.t()) :: [t()]
- def get_
all_
by_group_and_key(group, key) do
-
from(c in ConfigDB, where: c.group == ^group and c.key == ^key) |> Repo.all(
)
+ @spec get_
by_group_and_key(atom() | String.t(), atom() | String.t()) :: t() | nil
+ def get_by_group_and_key(group, key) do
+
get_by_params(%{group: group, key: key}
)
end
@spec get_by_params(map()) :: ConfigDB.t() | nil
end
@spec get_by_params(map()) :: ConfigDB.t() | nil
- def get_by_params(params), do: Repo.get_by(ConfigDB, params)
+ def get_by_params(
%{group: _, key: _} =
params), do: Repo.get_by(ConfigDB, params)
@spec changeset(ConfigDB.t(), map()) :: Changeset.t()
def changeset(config, params \\ %{}) do
@spec changeset(ConfigDB.t(), map()) :: Changeset.t()
def changeset(config, params \\ %{}) do
@@
-163,7
+163,6
@@
defmodule Pleroma.ConfigDB do
defp only_full_update?(%ConfigDB{group: group, key: key}) do
full_key_update = [
{:pleroma, :ecto_repos},
defp only_full_update?(%ConfigDB{group: group, key: key}) do
full_key_update = [
{:pleroma, :ecto_repos},
- {:quack, :meta},
{:mime, :types},
{:cors_plug, [:max_age, :methods, :expose, :headers]},
{:swarm, :node_blacklist},
{:mime, :types},
{:cors_plug, [:max_age, :methods, :expose, :headers]},
{:swarm, :node_blacklist},
@@
-343,7
+342,11
@@
defmodule Pleroma.ConfigDB do
def string_to_elixir_types(value) do
if module_name?(value) do
def string_to_elixir_types(value) do
if module_name?(value) do
- String.to_existing_atom("Elixir." <> value)
+ try do
+ String.to_existing_atom("Elixir." <> value)
+ rescue
+ ArgumentError -> :invalid_atom
+ end
else
value
end
else
value
end
@@
-387,6
+390,6
@@
defmodule Pleroma.ConfigDB do
@spec module_name?(String.t()) :: boolean()
def module_name?(string) do
Regex.match?(~r/^(Pleroma|Phoenix|Tesla|Quack|Ueberauth|Swoosh)\./, string) or
@spec module_name?(String.t()) :: boolean()
def module_name?(string) do
Regex.match?(~r/^(Pleroma|Phoenix|Tesla|Quack|Ueberauth|Swoosh)\./, string) or
- string in ["Oban", "Ueberauth", "ExSyslogger"]
+ string in ["Oban", "Ueberauth", "ExSyslogger"
, "ConcurrentLimiter"
]
end
end
end
end