Makes sales orders link to their deposits

This commit is contained in:
2022-07-04 07:19:14 -07:00
parent 496b0f487c
commit 2d5b8eded4
6 changed files with 146 additions and 70 deletions

View File

@@ -4,19 +4,23 @@
[auto-ap.utils :refer [dollars=]]
[clj-time.coerce :as c]
[datomic.api :as d]
[clojure.tools.logging :as log]))
[clojure.tools.logging :as log]
[clojure.set :as set]))
(defn <-datomic [result]
(-> result
(update :sales-order/date c/from-date)
(update :sales-order/charges (fn [cs]
(map (fn [c]
(update c :charge/processor :db/ident))
(-> c
(update :charge/processor :db/ident)
(set/rename-keys {:expected-deposit/_charges :expected-deposit})
(update :expected-deposit first)))
cs)))))
(def default-read '[*
{:sales-order/client [:client/name :db/id :client/code]
:sales-order/charges [* {:charge/processor [:db/ident]}]}])
:sales-order/charges [* {:charge/processor [:db/ident]} {:expected-deposit/_charges [:db/id]}]}])
(defn raw-graphql-ids [db args]
(let [query (cond-> {:query {:find []
@@ -118,10 +122,8 @@
:tax tax}))
(defn get-graphql [args]
(log/info "ARGS" args)
(let [db (d/db (d/connect uri))
{ids-to-retrieve :ids matching-count :count} (raw-graphql-ids db args)]
[(->> (graphql-results ids-to-retrieve db args))
matching-count
(summarize-orders ids-to-retrieve)]))