Skip to content

Commit a6cb665

Browse files
committed
add reload param to Workspace.ensure_user
1 parent 2976e60 commit a6cb665

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

lib/algora/workspace/workspace.ex

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -196,17 +196,26 @@ defmodule Algora.Workspace do
196196
end
197197
end
198198

199-
def ensure_user(token, owner) do
199+
def ensure_user(token, owner, reload \\ false) do
200200
case Repo.get_by(User, provider: "github", provider_login: owner) do
201201
%User{} = user ->
202-
if is_nil(user.provider_meta["followers"]) do
203-
with {:ok, user_data} <- Github.get_user_by_username(token, owner) do
204-
user
205-
|> User.github_changeset(user_data)
206-
|> Repo.update()
207-
end
208-
else
209-
{:ok, user}
202+
cond do
203+
reload ->
204+
with {:ok, user_data} <- Github.get_user(token, user.provider_id) do
205+
user
206+
|> User.github_changeset(user_data)
207+
|> Repo.update()
208+
end
209+
210+
is_nil(user.provider_meta["followers"]) ->
211+
with {:ok, user_data} <- Github.get_user_by_username(token, owner) do
212+
user
213+
|> User.github_changeset(user_data)
214+
|> Repo.update()
215+
end
216+
217+
true ->
218+
{:ok, user}
210219
end
211220

212221
nil ->

0 commit comments

Comments
 (0)