plaid
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
(defn cleanse [e]
|
||||
(-> e
|
||||
(assoc :client/yodlee-provider-accounts (get e :yodlee-provider-account/_client))
|
||||
(assoc :client/plaid-items (get e :plaid-item/_client))
|
||||
(update :client/location-matches
|
||||
(fn [lms]
|
||||
(map #(assoc % :location-match/match (first (:location-match/matches %))) lms)))
|
||||
@@ -23,23 +24,26 @@
|
||||
{:client/address [*]}
|
||||
{:client/bank-accounts [* {:bank-account/type [*]
|
||||
:bank-account/yodlee-account [:yodlee-account/name :yodlee-account/id :yodlee-account/number]
|
||||
:bank-account/plaid-account [:plaid-account/name :db/id :plaid-account/number :plaid-account/balance]
|
||||
:bank-account/intuit-bank-account [:intuit-bank-account/name :intuit-bank-account/external-id :db/id]}
|
||||
]}
|
||||
{:yodlee-provider-account/_client [*]}])
|
||||
{:yodlee-provider-account/_client [*]}
|
||||
{:plaid-item/_client [*]}])
|
||||
:where [?e :client/name]]
|
||||
(d/db (d/connect uri)))
|
||||
(map first)
|
||||
(map cleanse)
|
||||
|
||||
))
|
||||
(map cleanse)))
|
||||
|
||||
(defn get-by-id [id]
|
||||
|
||||
(->>
|
||||
(d/pull (d/db conn )
|
||||
'[* {:client/bank-accounts [* {:bank-account/type [*]
|
||||
:bank-account/yodlee-account [:yodlee-account/name :yodlee-account/id :yodlee-account/number]
|
||||
:bank-account/intuit-bank-account [:intuit-bank-account/name :intuit-bank-account/external-id :db/id]}]}
|
||||
{:yodlee-provider-account/_client [*]}]
|
||||
:bank-account/intuit-bank-account [:intuit-bank-account/name :intuit-bank-account/external-id :db/id]
|
||||
:bank-account/plaid-account [:plaid-account/name :db/id :plaid-account/number :plaid-account/balance]}]}
|
||||
{:yodlee-provider-account/_client [*]}
|
||||
{:plaid-item/_client [*]}]
|
||||
id)
|
||||
(cleanse)))
|
||||
|
||||
|
||||
@@ -1,23 +1,26 @@
|
||||
(ns auto-ap.datomic.migrate
|
||||
(:require [auto-ap.datomic :refer [uri conn]]
|
||||
[datomic.api :as d]
|
||||
[auto-ap.datomic.migrate.add-client-codes :refer [add-client-codes]]
|
||||
[auto-ap.datomic.migrate.add-bank-account-codes :refer [add-bank-account-codes]]
|
||||
[auto-ap.datomic.migrate.invoice-converter :refer [add-import-status-existing-invoices]]
|
||||
[auto-ap.datomic.migrate.add-general-ledger :as add-general-ledger]
|
||||
[auto-ap.datomic.migrate.ledger :as ledger]
|
||||
[auto-ap.datomic.migrate.sales :as sales]
|
||||
[auto-ap.datomic.migrate.vendors :as vendors]
|
||||
[auto-ap.datomic.migrate.clients :as clients]
|
||||
[auto-ap.datomic.migrate.audit :as audit]
|
||||
[auto-ap.datomic.migrate.yodlee2 :as yodlee2]
|
||||
|
||||
[clojure.java.io :as io]
|
||||
[io.rkn.conformity :as c]
|
||||
[mount.core :as mount])
|
||||
(:import [datomic Util])
|
||||
(:gen-class))
|
||||
|
||||
(:gen-class)
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[auto-ap.datomic.migrate.add-bank-account-codes
|
||||
:refer [add-bank-account-codes]]
|
||||
[auto-ap.datomic.migrate.add-client-codes :refer [add-client-codes]]
|
||||
[auto-ap.datomic.migrate.add-general-ledger :as add-general-ledger]
|
||||
[auto-ap.datomic.migrate.audit :as audit]
|
||||
[auto-ap.datomic.migrate.clients :as clients]
|
||||
[auto-ap.datomic.migrate.invoice-converter
|
||||
:refer [add-import-status-existing-invoices]]
|
||||
[auto-ap.datomic.migrate.ledger :as ledger]
|
||||
[auto-ap.datomic.migrate.plaid :as plaid]
|
||||
[auto-ap.datomic.migrate.sales :as sales]
|
||||
[auto-ap.datomic.migrate.vendors :as vendors]
|
||||
[auto-ap.datomic.migrate.yodlee2 :as yodlee2]
|
||||
[clojure.java.io :as io]
|
||||
[datomic.api :as d]
|
||||
[io.rkn.conformity :as c]
|
||||
[mount.core :as mount])
|
||||
(:import
|
||||
(datomic Util)))
|
||||
|
||||
(defn read-dtm
|
||||
"Reads a dtm file (i.e., an edn file with datomic tags in it) from the classpath
|
||||
@@ -434,6 +437,7 @@
|
||||
clients/norms-map
|
||||
ledger/norms-map
|
||||
yodlee2/norms-map
|
||||
plaid/norms-map
|
||||
audit/norms-map
|
||||
vendors/norms-map)]
|
||||
(println "Conforming database...")
|
||||
|
||||
55
src/clj/auto_ap/datomic/migrate/plaid.clj
Normal file
55
src/clj/auto_ap/datomic/migrate/plaid.clj
Normal file
@@ -0,0 +1,55 @@
|
||||
(ns auto-ap.datomic.migrate.plaid)
|
||||
|
||||
(def norms-map {::add-plaid
|
||||
{:txes [[{:db/ident :plaid-item/external-id
|
||||
:db/doc "Plaid Item ID"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/unique :db.unique/identity}
|
||||
{:db/ident :plaid-item/access-token
|
||||
:db/doc "Used to authenticate to plaid"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :plaid-item/client
|
||||
:db/doc "Which client the plaid item is for"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :plaid-item/accounts
|
||||
:db/doc "Individual bank accounts"
|
||||
:db/isComponent true
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/many}
|
||||
{:db/ident :plaid-item/status
|
||||
:db/doc "Current status"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :plaid-item/last-updated
|
||||
:db/doc "Last updated date"
|
||||
:db/valueType :db.type/instant
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/noHistory true}
|
||||
|
||||
{:db/ident :plaid-account/external-id
|
||||
:db/doc "plaid account id"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/unique :db.unique/identity}
|
||||
{:db/ident :plaid-account/name
|
||||
:db/doc "account name"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :plaid-account/number
|
||||
:db/doc "account number"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :plaid-account/balance
|
||||
:db/doc "Available Balance"
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :bank-account/plaid-account
|
||||
:db/doc "Yodlee account for the bank account"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :import-source/plaid}]]}})
|
||||
Reference in New Issue
Block a user