summaryrefslogtreecommitdiff
path: root/lib/pleroma/upload/filter.ex
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-09-08 17:21:12 +0000
committerrinpatch <rinpatch@sdf.org>2020-09-08 17:21:12 +0000
commit425324aae3d4534bc045466a1cc15653ddfa27d2 (patch)
tree2d785eb4396e2dc79bb6b0bed5d766b393479dd5 /lib/pleroma/upload/filter.ex
parent73dd5bdb7dcdf804bdbabcf632671d4de5042ebc (diff)
parent073f5490ece616fd9602382c1be1347457cbbe79 (diff)
Merge branch 'release/2.1.1' into 'stable'v2.1.1
2.1.1 release See merge request pleroma/secteam/pleroma!13
Diffstat (limited to 'lib/pleroma/upload/filter.ex')
-rw-r--r--lib/pleroma/upload/filter.ex13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/pleroma/upload/filter.ex b/lib/pleroma/upload/filter.ex
index dbdadc97f..661135634 100644
--- a/lib/pleroma/upload/filter.ex
+++ b/lib/pleroma/upload/filter.ex
@@ -15,7 +15,11 @@ defmodule Pleroma.Upload.Filter do
require Logger
- @callback filter(Pleroma.Upload.t()) :: :ok | {:ok, Pleroma.Upload.t()} | {:error, any()}
+ @callback filter(Pleroma.Upload.t()) ::
+ {:ok, :filtered}
+ | {:ok, :noop}
+ | {:ok, :filtered, Pleroma.Upload.t()}
+ | {:error, any()}
@spec filter([module()], Pleroma.Upload.t()) :: {:ok, Pleroma.Upload.t()} | {:error, any()}
@@ -25,10 +29,13 @@ defmodule Pleroma.Upload.Filter do
def filter([filter | rest], upload) do
case filter.filter(upload) do
- :ok ->
+ {:ok, :filtered} ->
filter(rest, upload)
- {:ok, upload} ->
+ {:ok, :filtered, upload} ->
+ filter(rest, upload)
+
+ {:ok, :noop} ->
filter(rest, upload)
error ->