added ability to link yodlee directly in.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
[auto-ap.routes.reminders :as reminders]
|
||||
[auto-ap.routes.graphql :as graphql]
|
||||
[auto-ap.routes.vendors :as vendors]
|
||||
[auto-ap.routes.yodlee :as yodlee]
|
||||
[auto-ap.routes.events :as events]
|
||||
[auto-ap.routes.checks :as checks]
|
||||
[auto-ap.routes.exports :as exports]
|
||||
@@ -33,6 +34,7 @@
|
||||
(defroutes api-routes
|
||||
(context "/api" []
|
||||
exports/routes
|
||||
yodlee/routes
|
||||
invoices/routes
|
||||
companies/routes
|
||||
vendors/routes
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
(defroutes routes
|
||||
(context "/events" []
|
||||
|
||||
(POST "/yodlee-import" {:keys [query-params headers body] :as x}
|
||||
(let [notification-type (get headers "x-amz-sns-message-type")]
|
||||
(println "Received notification " notification-type)
|
||||
|
||||
34
src/clj/auto_ap/routes/yodlee.clj
Normal file
34
src/clj/auto_ap/routes/yodlee.clj
Normal file
@@ -0,0 +1,34 @@
|
||||
(ns auto-ap.routes.yodlee
|
||||
(:require
|
||||
[auto-ap.graphql :as graphql]
|
||||
[clj-http.client :as http]
|
||||
|
||||
[auto-ap.yodlee.core :as yodlee]
|
||||
[auto-ap.graphql.utils :refer [->graphql assert-admin]]
|
||||
[auto-ap.routes.utils :refer [wrap-secure]]
|
||||
[clj-time.coerce :refer [to-date]]
|
||||
[auto-ap.db.invoices-expense-accounts :as expense-accounts]
|
||||
[ring.middleware.json :refer [wrap-json-response]]
|
||||
[compojure.core :refer [GET POST context defroutes wrap-routes]]
|
||||
[clojure.string :as str]
|
||||
[config.core :refer [env]]
|
||||
))
|
||||
|
||||
(defroutes routes
|
||||
(wrap-routes
|
||||
(context "/yodlee" []
|
||||
(GET "/fastlink" {:keys [query-params identity] :as request}
|
||||
(assert-admin identity)
|
||||
(let [[session token] (yodlee/get-access-token)]
|
||||
|
||||
|
||||
{:status 200
|
||||
:headers {"Content-Type" "application/edn"}
|
||||
:body (pr-str {:session session
|
||||
:token token
|
||||
:app (:yodlee-app env)
|
||||
|
||||
:url (:yodlee-fastlink env)
|
||||
|
||||
}) })))
|
||||
wrap-secure))
|
||||
@@ -75,6 +75,23 @@
|
||||
(recur (concat transactions transaction-batch) (+ batch-size skip))
|
||||
transactions)))))
|
||||
|
||||
(defn get-access-token []
|
||||
(let [cob-session (login-cobrand)
|
||||
user-session (login-user cob-session)
|
||||
token (->
|
||||
(str (:yodlee-base-url env) "/user/accessTokens?appIds=" 10003600)
|
||||
|
||||
(client/get
|
||||
{:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
|
||||
:as :json})
|
||||
:body
|
||||
:user
|
||||
:accessTokens
|
||||
first
|
||||
:value
|
||||
)]
|
||||
[user-session token]))
|
||||
|
||||
(defn create-user []
|
||||
(let [cob-session (login-cobrand)]
|
||||
(-> (str (:yodlee-base-url env) "/user/register")
|
||||
|
||||
Reference in New Issue
Block a user