logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

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