Fork of Pleroma with site-specific changes and feature branches https://git.pleroma.social/pleroma/pleroma
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
486B

  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.SafeText do
  5. use Ecto.Type
  6. alias Pleroma.HTML
  7. def type, do: :string
  8. def cast(str) when is_binary(str) do
  9. {:ok, HTML.filter_tags(str)}
  10. end
  11. def cast(_), do: :error
  12. def dump(data) do
  13. {:ok, data}
  14. end
  15. def load(data) do
  16. {:ok, data}
  17. end
  18. end