Transmogrifier: Remove upgrade_user_from_ap_id
This commit is contained in:
parent
3962253cf1
commit
2ee483ba41
|
@ -20,7 +20,6 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|
||||||
alias Pleroma.Web.ActivityPub.Utils
|
alias Pleroma.Web.ActivityPub.Utils
|
||||||
alias Pleroma.Web.ActivityPub.Visibility
|
alias Pleroma.Web.ActivityPub.Visibility
|
||||||
alias Pleroma.Web.Federator
|
alias Pleroma.Web.Federator
|
||||||
alias Pleroma.Workers.TransmogrifierWorker
|
|
||||||
|
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
|
|
||||||
|
@ -968,25 +967,6 @@ def perform(:user_upgrade, user) do
|
||||||
|> Repo.update_all([])
|
|> Repo.update_all([])
|
||||||
end
|
end
|
||||||
|
|
||||||
def upgrade_user_from_ap_id(ap_id) do
|
|
||||||
with %User{local: false} = user <- User.get_cached_by_ap_id(ap_id),
|
|
||||||
{:ok, data} <- ActivityPub.fetch_and_prepare_user_from_ap_id(ap_id),
|
|
||||||
{:ok, user} <- update_user(user, data) do
|
|
||||||
{:ok, _pid} = Task.start(fn -> ActivityPub.pinned_fetch_task(user) end)
|
|
||||||
TransmogrifierWorker.enqueue("user_upgrade", %{"user_id" => user.id})
|
|
||||||
{:ok, user}
|
|
||||||
else
|
|
||||||
%User{} = user -> {:ok, user}
|
|
||||||
e -> e
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
defp update_user(user, data) do
|
|
||||||
user
|
|
||||||
|> User.remote_user_changeset(data)
|
|
||||||
|> User.update_and_set_cache()
|
|
||||||
end
|
|
||||||
|
|
||||||
def maybe_fix_user_url(%{"url" => url} = data) when is_map(url) do
|
def maybe_fix_user_url(%{"url" => url} = data) when is_map(url) do
|
||||||
Map.put(data, "url", url["href"])
|
Map.put(data, "url", url["href"])
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,7 +8,6 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
||||||
|
|
||||||
alias Pleroma.Activity
|
alias Pleroma.Activity
|
||||||
alias Pleroma.Object
|
alias Pleroma.Object
|
||||||
alias Pleroma.Tests.ObanHelpers
|
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
alias Pleroma.Web.ActivityPub.Transmogrifier
|
alias Pleroma.Web.ActivityPub.Transmogrifier
|
||||||
alias Pleroma.Web.ActivityPub.Utils
|
alias Pleroma.Web.ActivityPub.Utils
|
||||||
|
@ -339,69 +338,6 @@ test "Updates of Notes are handled" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "user upgrade" do
|
|
||||||
test "it upgrades a user to activitypub" do
|
|
||||||
user =
|
|
||||||
insert(:user, %{
|
|
||||||
nickname: "rye@niu.moe",
|
|
||||||
local: false,
|
|
||||||
ap_id: "https://niu.moe/users/rye",
|
|
||||||
follower_address: User.ap_followers(%User{nickname: "rye@niu.moe"})
|
|
||||||
})
|
|
||||||
|
|
||||||
user_two = insert(:user)
|
|
||||||
Pleroma.FollowingRelationship.follow(user_two, user, :follow_accept)
|
|
||||||
|
|
||||||
{:ok, activity} = CommonAPI.post(user, %{status: "test"})
|
|
||||||
{:ok, unrelated_activity} = CommonAPI.post(user_two, %{status: "test"})
|
|
||||||
assert "http://localhost:4001/users/rye@niu.moe/followers" in activity.recipients
|
|
||||||
|
|
||||||
user = User.get_cached_by_id(user.id)
|
|
||||||
assert user.note_count == 1
|
|
||||||
|
|
||||||
{:ok, user} = Transmogrifier.upgrade_user_from_ap_id("https://niu.moe/users/rye")
|
|
||||||
ObanHelpers.perform_all()
|
|
||||||
|
|
||||||
assert user.ap_enabled
|
|
||||||
assert user.note_count == 1
|
|
||||||
assert user.follower_address == "https://niu.moe/users/rye/followers"
|
|
||||||
assert user.following_address == "https://niu.moe/users/rye/following"
|
|
||||||
|
|
||||||
user = User.get_cached_by_id(user.id)
|
|
||||||
assert user.note_count == 1
|
|
||||||
|
|
||||||
activity = Activity.get_by_id(activity.id)
|
|
||||||
assert user.follower_address in activity.recipients
|
|
||||||
|
|
||||||
assert %{
|
|
||||||
"url" => [
|
|
||||||
%{
|
|
||||||
"href" =>
|
|
||||||
"https://cdn.niu.moe/accounts/avatars/000/033/323/original/fd7f8ae0b3ffedc9.jpeg"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
} = user.avatar
|
|
||||||
|
|
||||||
assert %{
|
|
||||||
"url" => [
|
|
||||||
%{
|
|
||||||
"href" =>
|
|
||||||
"https://cdn.niu.moe/accounts/headers/000/033/323/original/850b3448fa5fd477.png"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
} = user.banner
|
|
||||||
|
|
||||||
refute "..." in activity.recipients
|
|
||||||
|
|
||||||
unrelated_activity = Activity.get_by_id(unrelated_activity.id)
|
|
||||||
refute user.follower_address in unrelated_activity.recipients
|
|
||||||
|
|
||||||
user_two = User.get_cached_by_id(user_two.id)
|
|
||||||
assert User.following?(user_two, user)
|
|
||||||
refute "..." in User.following(user_two)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "actor rewriting" do
|
describe "actor rewriting" do
|
||||||
test "it fixes the actor URL property to be a proper URI" do
|
test "it fixes the actor URL property to be a proper URI" do
|
||||||
data = %{
|
data = %{
|
||||||
|
|
Loading…
Reference in New Issue