Fixes issues with limited pagination on payouts

This commit is contained in:
Bryce
2023-08-07 12:01:07 -07:00
parent ed66805e8c
commit d488acc7d1

View File

@@ -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 []))