Fixes 4: In Da Hood.
[akkoma] / lib / mix / tasks / fix_ap_users.ex
1 defmodule Mix.Tasks.FixApUsers do
2 use Mix.Task
3 import Mix.Ecto
4 import Ecto.Query
5 alias Pleroma.{Repo, User}
6
7 @shortdoc "Grab all ap users again"
8 def run([]) do
9 Mix.Task.run("app.start")
10
11 q = from u in User,
12 where: fragment("? @> ?", u.info, ^%{"ap_enabled" => true}),
13 where: u.local == false
14 users = Repo.all(q)
15
16 Enum.each(users, fn(user) ->
17 try do
18 IO.puts("Fetching #{user.nickname}")
19 Pleroma.Web.ActivityPub.Transmogrifier.upgrade_user_from_ap_id(user.ap_id, false)
20 rescue
21 e -> IO.inspect(e)
22 end
23 end)
24 end
25 end