Fixes issues with limited pagination on payouts
This commit is contained in:
@@ -414,6 +414,47 @@
|
||||
:body
|
||||
:payment))
|
||||
|
||||
|
||||
(defn continue-payout-entry-list [c l poi cursor]
|
||||
(capture-context->lc lc
|
||||
(de/chain
|
||||
(manifold-api-call
|
||||
{:url (str "https://connect.squareup.com/v2/payouts/" poi "/payout-entries" "?cursor=" cursor )
|
||||
:method :get
|
||||
:headers (client-base-headers c "2023-04-19")
|
||||
:as :json})
|
||||
:body
|
||||
(fn [result]
|
||||
(mu/with-context lc
|
||||
(log/info ::payout-list-found
|
||||
:count (count (:payout_entries result)))
|
||||
(if (not-empty (:cursor result))
|
||||
(de/chain (continue-payout-entry-list c l poi (:cursor result))
|
||||
(fn [continued-results]
|
||||
(mu/with-context lc
|
||||
(concat (:payout_entries result) continued-results))))
|
||||
(:payout_entries result)))))))
|
||||
|
||||
(defn get-payout-entry-list [c l poi]
|
||||
(capture-context->lc lc
|
||||
(de/chain
|
||||
(manifold-api-call
|
||||
{:url (str "https://connect.squareup.com/v2/payouts/" poi "/payout-entries")
|
||||
:method :get
|
||||
:headers (client-base-headers c "2023-04-19")
|
||||
:as :json})
|
||||
:body
|
||||
(fn [result]
|
||||
(mu/with-context lc
|
||||
(log/info ::payout-list-found
|
||||
:count (count (:payout_entries result)))
|
||||
(if (not-empty (:cursor result))
|
||||
(de/chain (continue-payout-entry-list c l poi (:cursor result))
|
||||
(fn [continued-results]
|
||||
(mu/with-context lc
|
||||
(concat (:payout_entries result) continued-results))))
|
||||
(:payout_entries result)))))))
|
||||
|
||||
(defn payouts
|
||||
([client location] (payouts client location (time/plus (time/now) (time/days -7)) (time/now)))
|
||||
([client location start end]
|
||||
@@ -437,16 +478,9 @@
|
||||
(mu/with-context lc
|
||||
(log/info ::looking-up-payout
|
||||
:payout-id (:id payout))
|
||||
(de/chain
|
||||
(manifold-api-call
|
||||
{:url (str "https://connect.squareup.com/v2/payouts/" (:id payout) "/payout-entries")
|
||||
:method :get
|
||||
:headers (client-base-headers client "2023-04-19")
|
||||
:as :json})
|
||||
:body
|
||||
:payout_entries
|
||||
(fn [b]
|
||||
(assoc payout :payout_entries b))))))
|
||||
(de/chain (get-payout-entry-list client location (:id payout))
|
||||
(fn [payout-entries]
|
||||
(assoc payout :payout_entries payout-entries ))))))
|
||||
(s/buffer 10)
|
||||
(s/realize-each)
|
||||
(s/reduce conj []))
|
||||
|
||||
Reference in New Issue
Block a user