summaryrefslogtreecommitdiff
path: root/lib/mix/tasks/fix_ap_users.ex
blob: 2523cdbcb13c69d4f798ed602cd7ad6b69023b15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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