371aa8ae0bcd9469b5bb9aea810551fde2c6ca11
[akkoma] / lib / pleroma / web / media_proxy / invalidation.ex
1 defmodule Pleroma.Web.MediaProxy.Invalidation do
2 @callback purge(list(String.t()), map()) :: {:ok, String.t()} | {:error, String.t()}
3
4 alias Pleroma.Config
5
6 def purge(urls) do
7 [:media_proxy, :invalidation, :enabled]
8 |> Config.get()
9 |> do_purge(urls)
10 end
11
12 defp do_purge(true, urls) do
13 provider = Config.get([:media_proxy, :invalidation, :provider])
14 options = Config.get(provider)
15 provider.purge(urls, options)
16 :ok
17 end
18
19 defp do_purge(_, _), do: :ok
20 end