alias Pleroma.Repo
alias Pleroma.User
alias Pleroma.Activity
+alias Pleroma.Object
import Ecto.Query
defmodule Pleroma.SpcFixes do
)
Repo.update_all(query, [])
+
+ # Fix objects
+ query =
+ from(a in Object,
+ where: fragment("?->>'actor' = ?", a.data, ^mapping[user.ap_id]),
+ update: [
+ set: [
+ data:
+ fragment(
+ "jsonb_set(jsonb_set(?, '{actor}', ?), '{to}', (?->'to')::jsonb || ?)",
+ a.data,
+ ^user.ap_id,
+ a.data,
+ ^[user.follower_address]
+ )
+ ]
+ ]
+ )
+
+ Repo.update_all(query, [])
end)
end
end
alias Pleroma.User
alias Pleroma.Activity
alias Pleroma.Repo
+ alias Pleroma.Object
import Pleroma.Factory
assert activity.data["actor"] == user.ap_id
assert user.follower_address in activity.recipients
assert user.follower_address in activity.data["to"]
+
+ object = Object.get_by_ap_id(activity.data["object"]["id"])
+
+ assert object.data["actor"] == user.ap_id
+ assert user.follower_address in object.data["to"]
end
end