defmodule Mix.Tasks.FixApUsers do
use Mix.Task
- import Mix.Ecto
import Ecto.Query
alias Pleroma.{Repo, User}
def run([]) do
Mix.Task.run("app.start")
- q = from u in User,
- where: fragment("? @> ?", u.info, ^%{"ap_enabled" => true})
+ 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) ->
- IO.puts("Fetching #{user.nickname}")
- Pleroma.Web.ActivityPub.Transmogrifier.upgrade_user_from_ap_id(user.ap_id)
+ 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