Add AP fixup task.
authorlain <lain@soykaf.club>
Wed, 21 Feb 2018 21:59:00 +0000 (22:59 +0100)
committerlain <lain@soykaf.club>
Wed, 21 Feb 2018 21:59:00 +0000 (22:59 +0100)
lib/mix/tasks/fix_ap_users.ex [new file with mode: 0644]

diff --git a/lib/mix/tasks/fix_ap_users.ex b/lib/mix/tasks/fix_ap_users.ex
new file mode 100644 (file)
index 0000000..09a2c04
--- /dev/null
@@ -0,0 +1,20 @@
+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})
+    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)
+    end)
+  end
+end