defmodule Mix.Tasks.FixApUsers do use Mix.Task import Mix.Ecto import Ecto.Query alias Pleroma.{Repo, User} @shortdoc "Grab all ap users again" def run([]) do Mix.Task.run("app.start") q = from( u in User, where: fragment("? @> ?", u.info, ^%{"ap_enabled" => true}), where: u.local == false ) users = Repo.all(q) Enum.each(users, fn user -> try do IO.puts("Fetching #{user.nickname}") Pleroma.Web.ActivityPub.Transmogrifier.upgrade_user_from_ap_id(user.ap_id, false) rescue e -> IO.inspect(e) end end) end end