MRF: create MRF.Policy behaviour separate from MRF module

Speeds up recompilation by reducing compile-time deps
This commit is contained in:
Alex Gleason 2021-06-07 14:22:08 -05:00
commit fe4c4a7178
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
29 changed files with 43 additions and 38 deletions

View file

@ -51,17 +51,6 @@ defmodule Pleroma.Web.ActivityPub.MRF do
@required_description_keys [:key, :related_policy]
@callback filter(Map.t()) :: {:ok | :reject, Map.t()}
@callback describe() :: {:ok | :error, Map.t()}
@callback config_description() :: %{
optional(:children) => [map()],
key: atom(),
related_policy: String.t(),
label: String.t(),
description: String.t()
}
@optional_callbacks config_description: 0
def filter(policies, %{} = message) do
policies
|> Enum.reduce({:ok, message}, fn