Everything should be migrated over great

This commit is contained in:
2023-09-28 22:42:21 -07:00
parent feee10e847
commit 1320667e69
4 changed files with 137 additions and 173 deletions

View File

@@ -1,7 +1,14 @@
(ns auto-ap.ssr.company.yodlee
(:require
[auto-ap.datomic :refer [conn pull-attr]]
[auto-ap.datomic.yodlee2 :as yodlee2]
[auto-ap.datomic
:refer [add-sorter-fields
apply-pagination
apply-sort-3
conn
merge-query
pull-attr
pull-many
query2]]
[auto-ap.graphql.utils :refer [is-admin?]]
[auto-ap.ssr-routes :as ssr-routes]
[auto-ap.ssr.components :as com]
@@ -16,15 +23,51 @@
[hiccup2.core :as hiccup]))
(def default-read '[:db/id
:yodlee-provider-account/last-updated
[:yodlee-provider-account/last-updated :xform clj-time.coerce/from-date]
:yodlee-provider-account/status
:yodlee-provider-account/id
:yodlee-provider-account/detailed-status
{:yodlee-provider-account/accounts [:yodlee-account/name :yodlee-account/number]
:yodlee-provider-account/client [:client/code]}])
:yodlee-provider-account/client [:client/code]}])
(defn fetch-ids [db request]
(let [query-params (:parsed-query-params request)]
(->> (cond-> {:query {:find []
:in ['$ '[?xx ...]]
:where ['[?e :yodlee-provider-account/id]
'[?e :yodlee-provider-account/client ?xx]]}
:args [db (:trimmed-clients request)]}
(:sort query-params) (add-sorter-fields {"status" ['[?e :yodlee-provider-account/status ?sort-status]]
"last-updated" ['[?e :yodlee-provider-account/last-updated ?sort-last-updated]]}
query-params)
true
(merge-query {:query {:find ['?e ]
:where ['[?e :yodlee-provider-account/id]]}}))
(query2)
(apply-sort-3 query-params)
(apply-pagination query-params))))
(defn hydrate-results [ids db _]
(let [results (->> (pull-many db default-read ids)
(group-by :db/id))]
(->> ids
(map results)
(map first))))
(defn fetch-page [request]
(let [db (dc/db conn)
{ids-to-retrieve :ids matching-count :count} (fetch-ids db request)]
[(->> (hydrate-results ids-to-retrieve db request))
matching-count]))
(defn fastlink-dialog [{:keys [client]}]
(html-response
(com/modal
@@ -85,14 +128,7 @@ fastlink.open({fastLinkURL: '%s',
{:id "yodlee-table"
:nav (com/company-aside-nav)
:id-fn :db/id
:fetch-page (fn [request]
(println (count (:clients request)))
(yodlee2/get-graphql
{:client (:client request)
:clients (:clients request)
:sort (:sort (:parsed-query-params request))
:start (:start (:parsed-query-params request))
:per-page (:per-page (:parsed-query-params request))}))
:fetch-page fetch-page
:breadcrumbs [[:a {:href (bidi/path-for ssr-routes/only-routes
:company)}
"My Company"]