Only run the fix-up tasks once.

This commit is contained in:
lain 2018-03-07 20:19:48 +01:00
parent a91adb146e
commit 8228ae96d8
1 changed files with 9 additions and 6 deletions

View File

@ -266,16 +266,19 @@ def upgrade_user_from_ap_id(ap_id, async \\ true) do
data = data
|> Map.put(:info, Map.merge(user.info, data[:info]))
already_ap = User.ap_enabled?(user)
{:ok, user} = User.upgrade_changeset(user, data)
|> Repo.update()
# This could potentially take a long time, do it in the background
if async do
Task.start(fn ->
if !already_ap do
# This could potentially take a long time, do it in the background
if async do
Task.start(fn ->
user_upgrade_task(user)
end)
else
user_upgrade_task(user)
end)
else
user_upgrade_task(user)
end
end
{:ok, user}