sets up staging using http proxy.

This commit is contained in:
Bryce Covert
2020-09-15 11:08:39 -07:00
parent a6813072a5
commit b5e19030f1
2 changed files with 55 additions and 35 deletions

View File

@@ -13,4 +13,6 @@
:yodlee-base-url "https://quickstart2.api.yodlee.com/ysl"
:yodlee-app "10003600"
:yodlee-fastlink "https://quickstartus2node.yodleeinteractive.com/authenticate/qstartus12/?channelAppName=quickstartus2"
:yodlee-proxy-host "172.31.10.83"
:yodlee-proxy-port 8888
}

View File

@@ -14,18 +14,25 @@
([cob-session] (str "{cobSession=" cob-session "}"))
([cob-session user-session] (str "{cobSession=" cob-session ",userSession=" user-session "}")))
(def other-config
(if (:yodlee-proxy-host env)
{:proxy-host (:yodlee-proxy-host env)
:proxy-port (:yodlee-proxy-port env)}
{}))
(def base-headers {"Api-Version" "1.1"
"Cobrand-Name" (:yodlee-cobrand-name env)
"Content-Type" "application/json"})
(defn login-cobrand []
(-> (str (:yodlee-base-url env) "/cobrand/login")
(client/post {:headers base-headers
:body
(json/write-str {:cobrand {:cobrandLogin (:yodlee-cobrand-login env)
:cobrandPassword (:yodlee-cobrand-password env)
:locale "en_US"}})
:as :json}
(client/post (merge {:headers base-headers
:body
(json/write-str {:cobrand {:cobrandLogin (:yodlee-cobrand-login env)
:cobrandPassword (:yodlee-cobrand-password env)
:locale "en_US"}})
:as :json}
other-config)
)
:body
:session
@@ -36,12 +43,13 @@
([cob-session] (login-user cob-session (:yodlee-user-login env) (:yodlee-user-password env)))
([cob-session user password]
(-> (str (:yodlee-base-url env) "/user/login")
(client/post {:headers (merge base-headers {"Authorization" (auth-header cob-session)})
:body
(json/write-str {:user {:loginName user
:password password
:locale "en_US"}})
:as :json})
(client/post (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session)})
:body
(json/write-str {:user {:loginName user
:password password
:locale "en_US"}})
:as :json}
other-config))
:body
:user
:session
@@ -52,8 +60,9 @@
(let [cob-session (login-cobrand)
user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/accounts")
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:account)))
@@ -62,8 +71,9 @@
(let [cob-session (login-cobrand)
user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/accounts?providerAccountId=" provider-account-id)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:account))
(catch Exception e
@@ -75,8 +85,9 @@
(let [cob-session (login-cobrand)
user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) (str "/accounts/" i))
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:account)))
@@ -84,9 +95,10 @@
(let [cob-session (login-cobrand)
user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/providerAccounts")
(-> (client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,questions,preferences"}
:as :json})
(-> (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,questions,preferences"}
:as :json}
other-config))
:body
:providerAccount))))
@@ -100,8 +112,9 @@
(-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:transaction
))]
@@ -120,8 +133,9 @@
(-> (str (:yodlee-base-url env) "/providerAccounts")
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:providerAccount
)))
@@ -135,8 +149,9 @@
(-> (str (:yodlee-base-url env) "/providerAccounts/" id)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:providerAccount)))
@@ -147,9 +162,10 @@
(-> (str (:yodlee-base-url env) "/providerAccounts/" id )
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,preferences"}
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,preferences"}
:as :json}
other-config))
:body
:providerAccount
first)))
@@ -161,9 +177,10 @@
(-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa)
(client/put {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:body "{\"dataSetName\": [\"BASIC_AGG_DATA\"]}"
:as :json}))))
(client/put (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:body "{\"dataSetName\": [\"BASIC_AGG_DATA\"]}"
:as :json}
other-config)))))
@@ -177,8 +194,9 @@
get-transaction-batch (fn [skip]
(-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip "&accountId=" account)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json})
(client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}
other-config))
:body
:transaction
))]