File tree Expand file tree Collapse file tree 2 files changed +20
-4
lines changed
algora_web/controllers/webhooks Expand file tree Collapse file tree 2 files changed +20
-4
lines changed Original file line number Diff line number Diff line change
1
+ defmodule Algora.Payments.Jobs.ExecuteTransfer do
2
+ @ moduledoc false
3
+ use Oban.Worker , queue: :execute_transfer
4
+
5
+ @ impl Oban.Worker
6
+ def perform ( % Oban.Job { args: % { transfer_id: transfer_id , user_id: user_id } } ) do
7
+ # TODO: execute transfer
8
+ dbg ( "executing transfer #{ transfer_id } for user #{ user_id } " )
9
+ { :error , :not_implemented }
10
+ end
11
+ end
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ defmodule AlgoraWeb.Webhooks.StripeController do
4
4
import Ecto.Query
5
5
6
6
alias Algora.Payments
7
+ alias Algora.Payments.Jobs.ExecuteTransfer
7
8
alias Algora.Payments.Transaction
8
9
alias Algora.Repo
9
10
@@ -22,10 +23,14 @@ defmodule AlgoraWeb.Webhooks.StripeController do
22
23
set: [ status: :succeeded , succeeded_at: DateTime . utc_now ( ) ]
23
24
)
24
25
25
- # TODO: initiate pending transfers if any recipient has a payout account
26
- # %{transfer_id: transfer_id, user_id: user_id}
27
- # |> Algora.Workers.InitiateTransfer.new()
28
- # |> Oban.insert()
26
+ # TODO: get pending transfers (recipient with active payout accounts)
27
+ transfers = [ ]
28
+
29
+ Enum . map ( transfers , fn % { transfer_id: transfer_id , user_id: user_id } ->
30
+ % { transfer_id: transfer_id , user_id: user_id }
31
+ |> ExecuteTransfer . new ( )
32
+ |> Oban . insert ( )
33
+ end )
29
34
30
35
{ :ok , count }
31
36
end )
You can’t perform that action at this time.
0 commit comments