added tests
[akkoma] / lib / pleroma / web / media_proxy / invalidation.ex
index dd9a53a275daea9ef19fb199f1824f7289dd018f..c037ff13ea7651d555d8f9201371b2701ba7e4d2 100644 (file)
@@ -1,8 +1,15 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.Web.MediaProxy.Invalidation do
+  @moduledoc false
+
   @callback purge(list(String.t()), map()) :: {:ok, String.t()} | {:error, String.t()}
 
   alias Pleroma.Config
 
+  @spec purge(list(String.t())) :: {:ok, String.t()} | {:error, String.t()}
   def purge(urls) do
     [:media_proxy, :invalidation, :enabled]
     |> Config.get()
@@ -10,9 +17,9 @@ defmodule Pleroma.Web.MediaProxy.Invalidation do
   end
 
   defp do_purge(true, urls) do
-    config = Config.get([:media_proxy, :invalidation])
-    config[:provider].purge(urls, config[:options])
-    :ok
+    provider = Config.get([:media_proxy, :invalidation, :provider])
+    options = Config.get(provider)
+    provider.purge(urls, options)
   end
 
   defp do_purge(_, _), do: :ok