adds integration statuses to bank account pages.
This commit is contained in:
@@ -9,6 +9,9 @@
|
||||
(assoc :client/yodlee-provider-accounts (get e :yodlee-provider-account/_client))
|
||||
(assoc :client/plaid-items (get e :plaid-item/_client))
|
||||
(update :client/locked-until #(some-> % coerce/to-date-time))
|
||||
(update-in [:client/square-integration-status :integration-status/state] :db/ident)
|
||||
(update-in [:client/square-integration-status :integration-status/last-attempt] #(some-> % coerce/to-date-time))
|
||||
(update-in [:client/square-integration-status :integration-status/last-updated] #(some-> % coerce/to-date-time))
|
||||
(update :client/location-matches
|
||||
(fn [lms]
|
||||
(map #(assoc % :location-match/match (first (:location-match/matches %))) lms)))
|
||||
@@ -17,11 +20,18 @@
|
||||
(map (fn [i ba]
|
||||
(-> ba
|
||||
(update :bank-account/type :db/ident )
|
||||
(update-in [:bank-account/integration-status :integration-status/state] :db/ident)
|
||||
(update-in [:bank-account/integration-status :integration-status/last-attempt] #(some-> % coerce/to-date-time))
|
||||
(update-in [:bank-account/integration-status :integration-status/last-updated] #(some-> % coerce/to-date-time))
|
||||
(update :bank-account/start-date #(some-> % (coerce/to-date-time)))
|
||||
(update :bank-account/sort-order (fn [so] (or so i)))))
|
||||
(range) bas)))))
|
||||
(defn get-all []
|
||||
(->> (d/q '[:find (pull ?e [*
|
||||
{:client/square-integration-status [:integration-status/message
|
||||
:integration-status/last-attempt
|
||||
:integration-status/last-updated
|
||||
{:integration-status/state [:db/ident]}]}
|
||||
{:client/address [*]}
|
||||
{:client/square-locations [:square-location/square-id
|
||||
:square-location/name
|
||||
@@ -30,7 +40,11 @@
|
||||
{: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]}
|
||||
:bank-account/intuit-bank-account [:intuit-bank-account/name :intuit-bank-account/external-id :db/id]
|
||||
:bank-account/integration-status [:integration-status/message
|
||||
:integration-status/last-attempt
|
||||
:integration-status/last-updated
|
||||
{:integration-status/state [:db/ident]}]}
|
||||
]}
|
||||
{:yodlee-provider-account/_client [*]}
|
||||
{:plaid-item/_client [*]}
|
||||
|
||||
@@ -2,15 +2,14 @@
|
||||
(: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-bank-account-codes]
|
||||
[auto-ap.datomic.migrate.add-client-codes]
|
||||
[auto-ap.datomic.migrate.add-general-ledger :as add-general-ledger]
|
||||
[auto-ap.datomic.migrate.integrations :as integrations]
|
||||
[auto-ap.datomic.migrate.audit :as audit]
|
||||
[auto-ap.datomic.migrate.clients :as clients]
|
||||
[auto-ap.datomic.migrate.reports :as reports]
|
||||
[auto-ap.datomic.migrate.invoice-converter
|
||||
:refer [add-import-status-existing-invoices]]
|
||||
[auto-ap.datomic.migrate.invoice-converter]
|
||||
[auto-ap.datomic.migrate.ledger :as ledger]
|
||||
[auto-ap.datomic.migrate.queries :as queries]
|
||||
[auto-ap.datomic.migrate.plaid :as plaid]
|
||||
@@ -531,6 +530,7 @@
|
||||
clients/norms-map
|
||||
ledger/norms-map
|
||||
yodlee2/norms-map
|
||||
integrations/norms-map
|
||||
reports/norms-map
|
||||
plaid/norms-map
|
||||
audit/norms-map
|
||||
|
||||
40
src/clj/auto_ap/datomic/migrate/integrations.clj
Normal file
40
src/clj/auto_ap/datomic/migrate/integrations.clj
Normal file
@@ -0,0 +1,40 @@
|
||||
(ns auto-ap.datomic.migrate.integrations)
|
||||
|
||||
(def norms-map {::add-integration-status3
|
||||
{:txes [[{:db/ident :bank-account/integration-status
|
||||
:db/doc "A status for integration for the bank account"
|
||||
:db/valueType :db.type/ref
|
||||
:db/isComponent true
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :client/square-integration-status
|
||||
:db/doc "Square's integration status"
|
||||
:db/valueType :db.type/ref
|
||||
:db/isComponent true
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :integration-status/last-updated
|
||||
:db/doc "When was this integration updated"
|
||||
:db/valueType :db.type/instant
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/noHistory true}
|
||||
|
||||
{:db/ident :integration-status/last-attempt
|
||||
:db/doc "When was this integration attempted."
|
||||
:db/valueType :db.type/instant
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/noHistory true}
|
||||
|
||||
{:db/ident :integration-status/state
|
||||
:db/doc "A status for the integration"
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :integration-status/message
|
||||
:db/doc "A message from the last attempt"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :integration-state/failed}
|
||||
{:db/ident :integration-state/success}
|
||||
{:db/ident :integration-state/unauthorized}]]}})
|
||||
Reference in New Issue
Block a user