From 12274f8fb7124f9c6488de7dd1ebdc466b6cf320 Mon Sep 17 00:00:00 2001 From: FloatingGhost Date: Wed, 24 Aug 2022 14:49:55 +0100 Subject: [PATCH] switch mix task to fetch --- lib/mix/tasks/pleroma/user.ex | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index fe3e7369f..a84c48b12 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -258,32 +258,26 @@ defmodule Mix.Tasks.Pleroma.User do end end - def run(["broadcast_public_keys" | _rest]) do + def run(["refetch_public_keys" | _rest]) do start_pleroma() Pleroma.User.Query.build(%{ - local: true, + external: true, is_active: true }) |> Pleroma.Repo.chunk_stream(50, :batches) |> Stream.each(fn users -> users |> Enum.each(fn user -> - IO.puts("Broadcasting: #{user.ap_id}") - changeset = User.update_changeset(user, %{keys: user.keys}) - {:ok, unpersisted_user} = Ecto.Changeset.apply_action(changeset, :update) + IO.puts("Re-Resolving: #{user.ap_id}") - updated_object = - Pleroma.Web.ActivityPub.UserView.render("user.json", user: unpersisted_user) - |> Map.delete("@context") - - {:ok, update_data, []} = Builder.update(user, updated_object) - - {:ok, _update, _} = - Pipeline.common_pipeline(update_data, - local: true, - user_update_changeset: changeset - ) + with {:ok, user} <- Pleroma.User.fetch_by_ap_id(user.ap_id), + changeset <- Pleroma.User.update_changeset(user), + {:ok, _user} <- Pleroma.User.update_and_set_cache(changeset) do + :ok + else + error -> IO.puts("Could not resolve: #{user.ap_id}, #{inspect(error)}") + end end) end) |> Stream.run()