summaryrefslogtreecommitdiff
path: root/priv/repo/migrations/20240904142434_assign_app_user.exs
blob: 11bec529bf3f27a2381211bda6c1828620e06d3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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