Couple of fixes for groups
- Fix posts update federation and add tests - Fix posts deletion federation and add tests Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -118,7 +118,9 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
|
||||
defp process_collection(_, _), do: :error
|
||||
|
||||
defp handling_element(data) when is_map(data) do
|
||||
# If we're handling an activity
|
||||
defp handling_element(%{"type" => activity_type} = data)
|
||||
when activity_type in ["Create", "Update", "Delete"] do
|
||||
object = get_in(data, ["object"])
|
||||
|
||||
if object do
|
||||
@@ -128,6 +130,26 @@ defmodule Mobilizon.Federation.ActivityPub.Refresher do
|
||||
Transmogrifier.handle_incoming(data)
|
||||
end
|
||||
|
||||
# If we're handling directly an object
|
||||
defp handling_element(data) when is_map(data) do
|
||||
object = get_in(data, ["object"])
|
||||
|
||||
if object do
|
||||
object |> Utils.get_url() |> Mobilizon.Tombstone.delete_uri_tombstone()
|
||||
end
|
||||
|
||||
activity = %{
|
||||
"type" => "Create",
|
||||
"to" => data["to"],
|
||||
"cc" => data["cc"],
|
||||
"actor" => data["actor"] || data["attributedTo"],
|
||||
"attributedTo" => data["attributedTo"] || data["actor"],
|
||||
"object" => data
|
||||
}
|
||||
|
||||
Transmogrifier.handle_incoming(activity)
|
||||
end
|
||||
|
||||
defp handling_element(uri) when is_binary(uri) do
|
||||
ActivityPub.fetch_object_from_url(uri)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user