summaryrefslogtreecommitdiff
path: root/lib/mix/tasks/fix_ap_users.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mix/tasks/fix_ap_users.ex')
-rw-r--r--lib/mix/tasks/fix_ap_users.ex25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/mix/tasks/fix_ap_users.ex b/lib/mix/tasks/fix_ap_users.ex
new file mode 100644
index 000000000..ff09074c3
--- /dev/null
+++ b/lib/mix/tasks/fix_ap_users.ex
@@ -0,0 +1,25 @@
+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