safe_text.ex (487B)
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.Web.ActivityPub.ObjectValidators.Types.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