New import approach to capture the batch.

This commit is contained in:
2021-12-15 20:35:37 -08:00
parent b7324af538
commit 26a949e63f
12 changed files with 335 additions and 218 deletions

View File

@@ -378,7 +378,51 @@
:db/doc "An unhashed version of the id"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]
:depends-on [:auto-ap/base-schema]}}
:depends-on [:auto-ap/base-schema]}
:auto-ap/add-transaction-import2 {:txes [[{:db/ident :import-batch/external-id
:db/doc "An identifier for the import batch"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/unique :db.unique/identity}
{:db/ident :import-batch/entry
:db/doc "Links to everything that was imported"
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/many}
{:db/ident :import-batch/imported
:db/doc "How many entries were imported"
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one}
{:db/ident :import-batch/extant
:db/doc "How many entries were already present"
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one}
{:db/ident :import-batch/suppressed
:db/doc "How many entries were explicitly ignored"
:db/valueType :db.type/long
:db/cardinality :db.cardinality/one}
{:db/ident :import-batch/date
:db/doc "The date the import occurred"
:db/valueType :db.type/instant
:db/cardinality :db.cardinality/one}
{:db/ident :import-batch/source
:db/doc "What system triggered the import"
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one}
{:db/ident :import-batch/status
:db/doc "What system triggered the import"
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one}
{:db/ident :import-source/intuit}
{:db/ident :import-source/manual}
{:db/ident :import-source/yodlee}
{:db/ident :import-source/yodlee2}
{:db/ident :import-status/started}
{:db/ident :import-status/completed}
{:db/ident :import-batch/user-name
:db/doc "Who triggred this import"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]
:depends-on [:auto-ap/base-schema]}}

View File

@@ -43,6 +43,11 @@
:where ['[?e :transaction/bank-account ?bank-account-id]]}
:args [(:bank-account-id args)]})
(:import-batch-id args)
(merge-query {:query {:in ['?import-batch-id]
:where ['[?import-batch-id :import-batch/entry ?e]]}
:args [(:import-batch-id args)]})
(:account-id args)
(merge-query {:query {:in ['?account-id]
:where ['[?e :transaction/accounts ?accounts]