Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / lib / pleroma / ecto_type / activity_pub / object_validators / safe_text.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.SafeText do
6 use Ecto.Type
7
8 alias Pleroma.HTML
9
10 def type, do: :string
11
12 def cast(str) when is_binary(str) do
13 {:ok, HTML.filter_tags(str)}
14 end
15
16 def cast(_), do: :error
17
18 def dump(data) do
19 {:ok, data}
20 end
21
22 def load(data) do
23 {:ok, data}
24 end
25 end