diff options
author | Mark Felder <feld@feld.me> | 2024-09-04 10:40:37 -0400 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2024-09-04 10:40:37 -0400 |
commit | 7bd0750787859cb30382d90162d70380441abc05 (patch) | |
tree | 34280bf5f95597fc6f225a6740ab19bae464cfd7 /priv | |
parent | 427da7a99a30ebc7a7deb54e7704b5d8dffea199 (diff) | |
download | pleroma-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.exs | 21 |
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 |