@@ -844,10 +844,7 @@ defmodule Algora.Workspace do
844844 :ok <- add_contributions ( token , users , cloud_contributions ) do
845845 # Always mark users as synced after fetching from Cloud API
846846 mark_users_as_synced ( users_without_contributions , users )
847-
848- existing_contributions = get_existing_contributions ( users_with_contributions_logins )
849- all_contributions = existing_contributions ++ cloud_contributions
850- { :ok , all_contributions }
847+ { :ok , users }
851848 else
852849 { :error , reason } ->
853850 Logger . error ( "Failed to fetch contributions for #{ inspect ( provider_logins ) } : #{ inspect ( reason ) } " )
@@ -885,7 +882,7 @@ defmodule Algora.Workspace do
885882 users_map = Enum . group_by ( users , & & 1 . provider_login )
886883
887884 results =
888- Enum . map ( contributions , fn contribution ->
885+ Enum . flat_map ( contributions , fn contribution ->
889886 case users_map [ contribution . provider_login ] do
890887 [ user ] ->
891888 % {
@@ -895,10 +892,10 @@ defmodule Algora.Workspace do
895892 }
896893 |> Jobs.SyncContribution . new ( )
897894 |> Oban . insert ( )
895+ |> then ( & [ & 1 ] )
898896
899897 _ ->
900- Logger . error ( "User not found for #{ contribution . provider_login } " )
901- { :error , :user_not_found }
898+ [ ]
902899 end
903900 end )
904901
@@ -947,13 +944,16 @@ defmodule Algora.Workspace do
947944 end
948945
949946 def ensure_users ( token , provider_logins ) do
950- Repo . tx ( fn ->
951- provider_logins
952- |> Enum . map ( & ensure_user ( token , & 1 ) )
953- |> Enum . reduce_while ( { :ok , [ ] } , fn
954- { :ok , user } , { :ok , users } -> { :cont , { :ok , [ user | users ] } }
955- { :error , reason } , _ -> { :halt , { :error , reason } }
956- end )
947+ provider_logins
948+ |> Enum . map ( & ensure_user ( token , & 1 ) )
949+ |> Enum . reduce_while ( { :ok , [ ] } , fn
950+ { :ok , user } , { :ok , users } ->
951+ { :cont , { :ok , [ user | users ] } }
952+
953+ { :error , reason } , acc ->
954+ Logger . error ( "Something went wrong fetching user #{ IO . inspect ( reason ) } " )
955+ { :cont , acc }
956+ # {:halt, {:error, reason}}
957957 end )
958958 end
959959
0 commit comments