Browse Source

fix for int and modules

tags/v1.1.4
Alex S 5 years ago
parent
commit
f0fccb7578
2 changed files with 38 additions and 2 deletions
  1. +9
    -2
      lib/pleroma/web/admin_api/config.ex
  2. +29
    -0
      test/web/admin_api/admin_api_controller_test.exs

+ 9
- 2
lib/pleroma/web/admin_api/config.ex View File

@@ -77,8 +77,15 @@ defmodule Pleroma.Web.AdminAPI.Config do
defp do_convert({k, v} = value) when is_tuple(value),
do: %{k => do_convert(v)}

defp do_convert(value) when is_binary(value) or is_atom(value) or is_map(value),
do: value
defp do_convert(value) when is_binary(value) or is_map(value) or is_number(value), do: value

defp do_convert(value) when is_atom(value) do
string = to_string(value)

if String.starts_with?(string, "Elixir."),
do: String.trim_leading(string, "Elixir."),
else: value
end

@spec transform(any()) :: binary()
def transform(entity) when is_map(entity) do


+ 29
- 0
test/web/admin_api/admin_api_controller_test.exs View File

@@ -1463,5 +1463,34 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
assert Application.get_env(:pleroma, :keyaa1) == "another_value"
refute Application.get_env(:pleroma, :keyaa2)
end

test "common config example", %{conn: conn} do
conn =
post(conn, "/api/pleroma/admin/config", %{
configs: [
%{
"key" => "Pleroma.Captcha",
"value" => %{
"enabled" => ":false",
"method" => "Pleroma.Captcha.Kocaptcha",
"seconds_valid" => "i:60"
}
}
]
})

assert json_response(conn, 200) == %{
"configs" => [
%{
"key" => "Pleroma.Captcha",
"value" => [
%{"enabled" => false},
%{"method" => "Pleroma.Captcha.Kocaptcha"},
%{"seconds_valid" => 60}
]
}
]
}
end
end
end

Loading…
Cancel
Save