1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.ActivityPub.MRF.Policy do
6 @callback filter(Map.t()) :: {:ok | :reject, Map.t()}
7 @callback describe() :: {:ok | :error, Map.t()}
8 @callback config_description() :: %{
9 optional(:children) => [map()],
11 related_policy: String.t(),
13 description: String.t()
15 @callback history_awareness() :: :auto | :manual
16 @optional_callbacks config_description: 0, history_awareness: 0