clacks/lib/clacks/inbox/transformer.ex

24 lines
693 B
Elixir

defmodule Clacks.Inbox.Transformer do
@spec restrict_incoming_object(object :: map()) :: map()
def restrict_incoming_object(%{"content" => content} = object) do
content = sanitize_html(content)
%{object | "content" => content}
end
def restrict_incoming_object(object) do
object
end
@spec restrict_incoming_actor(actor :: map()) :: map()
def restrict_incoming_actor(%{"summary" => summary} = actor) when is_binary(summary) do
summary = sanitize_html(summary)
%{actor | "summary" => summary}
end
@spec sanitize_html(content :: String.t()) :: String.t()
defp sanitize_html(content) do
{:ok, res} = FastSanitize.basic_html(content)
res
end
end