Deprecate and rewrite settings for quarentine settings

* This is for the settings, not yet a DB migration
This commit is contained in:
Ilja 2020-10-02 16:03:20 +02:00 committed by Haelwenn (lanodan) Monnier
commit e0c7d77197
No known key found for this signature in database
GPG key ID: D5B7A8E43C997DEE
2 changed files with 89 additions and 0 deletions

View file

@ -80,6 +80,44 @@ defmodule Pleroma.Config.DeprecationWarnings do
end
end
def check_quarantined_instances_tuples do
has_strings =
Config.get([:instance, :quarantined_instances]) |> Enum.any?(fn e -> is_binary(e) end)
if has_strings do
Logger.warn("""
!!!DEPRECATION WARNING!!!
Your config is using strings in the quarantined_instances configuration instead of tuples. They should work for now, but you are advised to change to the new configuration to prevent possible issues later:
```
config :pleroma, :instance,
quarantined_instances: ["instance.tld"]
```
Is now
```
config :pleroma, :instance,
quarantined_instances: [{"instance.tld", "Reason for quarantine"}]
```
""")
new_config =
Config.get([:instance, :quarantined_instances])
|> Enum.map(fn
{instance, reason} -> {instance, reason}
instance -> {instance, ""}
end)
Config.put([:instance, :quarantined_instances], new_config)
:error
else
:ok
end
end
def check_hellthread_threshold do
if Config.get([:mrf_hellthread, :threshold]) do
Logger.warn("""
@ -103,6 +141,7 @@ defmodule Pleroma.Config.DeprecationWarnings do
:ok <- check_remote_ip_plug_name(),
:ok <- check_uploders_s3_public_endpoint(),
:ok <- check_old_chat_shoutbox(),
:ok <- check_quarantined_instances_tuples(),
:ok <- check_simple_policy_tuples() do
:ok
else