Fixes yodlee timeouts

This commit is contained in:
Bryce Covert
2020-10-10 07:21:46 -07:00
parent be29996801
commit 9c34a188fc
3 changed files with 45 additions and 18 deletions

View File

@@ -77,6 +77,7 @@
:source "request" :source "request"
:user-role (:user/role (:identity request)) :user-role (:user/role (:identity request))
:user-name (:user/name (:identity request))} :user-name (:user/name (:identity request))}
(when-not (str/includes? (:uri request) "health-check") (when-not (str/includes? (:uri request) "health-check")
(log/info "Beginning request" (:uri request))) (log/info "Beginning request" (:uri request)))
(handler request)))) (handler request))))

View File

@@ -40,10 +40,10 @@
(GET "/provider-accounts" {:keys [query-params identity] :as request} (GET "/provider-accounts" {:keys [query-params identity] :as request}
(assert-admin identity) (assert-admin identity)
(let [[session token] (yodlee/get-access-token)] (log/info "working on provider accounts...")
{:status 200 {:status 200
:headers {"Content-Type" "application/edn"} :headers {"Content-Type" "application/edn"}
:body (pr-str @yodlee/in-memory-cache) })) :body (pr-str @yodlee/in-memory-cache) })
(POST "/reauthenticate/:id" {:keys [query-params identity] {:keys [id]} :route-params (POST "/reauthenticate/:id" {:keys [query-params identity] {:keys [id]} :route-params
data :edn-params data :edn-params
:as request} :as request}

View File

@@ -208,14 +208,36 @@
(recur (concat transactions transaction-batch) (+ batch-size skip)) (recur (concat transactions transaction-batch) (+ batch-size skip))
transactions))))) transactions)))))
(defn get-specific-transactions-with-date [account start end]
(let [cob-session (login-cobrand)
user-session (login-user cob-session)
batch-size 100
get-transaction-batch (fn [skip]
(-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&fromDate=" start "&toDate=" end "&skip=" skip "&accountId=" account)
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:transaction
))]
(loop [transactions []
skip 0]
(let [transaction-batch (get-transaction-batch skip)]
(if (seq transaction-batch)
(recur (concat transactions transaction-batch) (+ batch-size skip))
transactions)))))
(defn count-specific-transactions [account] (defn count-specific-transactions [account]
(let [cob-session (login-cobrand) (let [cob-session (login-cobrand)
user-session (login-user cob-session)] user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/transactions/count?accountId=" account) (-> (str (:yodlee-base-url env) "/transactions/count?accountId=" account)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:transaction :transaction
))) )))
@@ -227,8 +249,9 @@
(str (:yodlee-base-url env) "/user/accessTokens?appIds=" 10003600) (str (:yodlee-base-url env) "/user/accessTokens?appIds=" 10003600)
(client/get (client/get
{:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:user :user
:accessTokens :accessTokens
@@ -240,11 +263,12 @@
(defn create-user [] (defn create-user []
(let [cob-session (login-cobrand)] (let [cob-session (login-cobrand)]
(-> (str (:yodlee-base-url env) "/user/register") (-> (str (:yodlee-base-url env) "/user/register")
(client/post {:headers (merge base-headers {"Authorization" (auth-header cob-session)}) (client/post (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session)})
:body (json/write-str {:user {:loginName "brycesPersoonal2" :body (json/write-str {:user {:loginName "brycesPersoonal2"
:password "kV@mdv3TU11" :password "kV@mdv3TU11"
:email "yodleepersonal2@brycecovertoperations.com"}}) :email "yodleepersonal2@brycecovertoperations.com"}})
:as :json}) :as :json}
other-config))
:body))) :body)))
@@ -315,8 +339,9 @@
(-> (str (:yodlee-base-url env) "/providerAccounts/" id ) (-> (str (:yodlee-base-url env) "/providerAccounts/" id )
(client/delete {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/delete (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:providerAccount :providerAccount
first)) first))
@@ -338,9 +363,10 @@
(-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa) (-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa)
(client/put {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/put (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:body (json/write-str data) :body (json/write-str data)
:as :json})) :as :json}
other-config)))
(refresh-provider-account pa))) (refresh-provider-account pa)))
#_(defn get-users [] #_(defn get-users []