:ok <- check_actor_is_active(map["actor"]),
{:ok, map} <- MRF.filter(map),
:ok <- insert_full_object(map) do
- {recipients, recipients_to, recipients_cc} = get_recipients(map)
+ {recipients, _, _} = get_recipients(map)
{:ok, activity} =
Repo.insert(%Activity{
data: map,
local: local,
actor: map["actor"],
- recipients: recipients,
- recipients_to: recipients_to,
- recipients_cc: recipients_cc
+ recipients: recipients
})
Notification.create_notifications(activity)
activity in query,
where:
fragment(
- "(? && ?) or (? && ?)",
+ "(?->'to' \\?| ?) or (?->'cc' \\?| ?)",
+ activity.data,
^recipients_to,
- activity.recipients_to,
- ^recipients_cc,
- activity.recipients_cc
+ activity.data,
+ ^recipients_cc
)
)
end
"actor" => data["attributedTo"],
"object" => data
},
+ :ok <- Transmogrifier.contain_origin(id, params),
{:ok, activity} <- Transmogrifier.handle_incoming(params) do
{:ok, Object.normalize(activity.data["object"])}
else