more conversion to datomic

This commit is contained in:
Bryce Covert
2018-08-16 08:23:44 -07:00
parent 0741b27239
commit a4e3fe2327
7 changed files with 114 additions and 103 deletions

View File

@@ -3,11 +3,13 @@
[auto-ap.datomic :refer [uri]]
[clj-time.coerce :as c]))
(defn add-arg [query name value where]
(-> query
(update :args conj value)
(update-in [:query :in] conj name)
(update-in [:query :where] conj where)))
(defn add-arg [query name value where & rest]
(let [query (-> query
(update :args conj value)
(update-in [:query :in] conj name)
(update-in [:query :where] conj where))]
(reduce #(update-in %1 [:query :where] conj %2) query rest)))
(defn raw-graphql [args]
(->> (d/query
@@ -16,8 +18,11 @@
:where ['[?e :transaction/original-id]]}
:args [(d/db (d/connect uri))]}
(:company-id args) (add-arg '?company-id (Long/parseLong (:company-id args))
'[?e :transaction/client ?company-id])))
(:client-id args) (add-arg '?client-id (Long/parseLong (:client-id args))
'[?e :transaction/client ?client-id])
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
'[?e :transaction/client ?c]
'[?c :client/original-id ?original-id])))
(map first)
(map #(update % :transaction/date c/from-date))