summaryrefslogtreecommitdiff
path: root/priv
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-09-04 10:40:37 -0400
committerMark Felder <feld@feld.me>2024-09-04 10:40:37 -0400
commit7bd0750787859cb30382d90162d70380441abc05 (patch)
tree34280bf5f95597fc6f225a6740ab19bae464cfd7 /priv
parent427da7a99a30ebc7a7deb54e7704b5d8dffea199 (diff)
downloadpleroma-7bd0750787859cb30382d90162d70380441abc05.tar.gz
pleroma-7bd0750787859cb30382d90162d70380441abc05.zip
Ensure apps are assigned to users
Diffstat (limited to 'priv')
-rw-r--r--priv/repo/migrations/20240904142434_assign_app_user.exs21
1 files changed, 21 insertions, 0 deletions
diff --git a/priv/repo/migrations/20240904142434_assign_app_user.exs b/priv/repo/migrations/20240904142434_assign_app_user.exs
new file mode 100644
index 000000000..11bec529b
--- /dev/null
+++ b/priv/repo/migrations/20240904142434_assign_app_user.exs
@@ -0,0 +1,21 @@
+defmodule Pleroma.Repo.Migrations.AssignAppUser do
+ use Ecto.Migration
+
+ alias Pleroma.Repo
+ alias Pleroma.Web.OAuth.App
+ alias Pleroma.Web.OAuth.Token
+
+ def up do
+ Repo.all(Token)
+ |> Enum.group_by(fn x -> Map.get(x, :app_id) end)
+ |> Enum.each(fn {_app_id, tokens} ->
+ token =
+ Enum.filter(tokens, fn x -> not is_nil(x.user_id) end)
+ |> List.first()
+
+ App.maybe_update_owner(token)
+ end)
+ end
+
+ def down, do: :ok
+end