moving to merge-query
This commit is contained in:
@@ -137,10 +137,6 @@
|
|||||||
[(->> (graphql-results ids-to-retrieve db args))
|
[(->> (graphql-results ids-to-retrieve db args))
|
||||||
matching-count]))
|
matching-count]))
|
||||||
|
|
||||||
(defn count-graphql [args]
|
|
||||||
(->> (raw-graphql args)
|
|
||||||
(count)))
|
|
||||||
|
|
||||||
(defn get-by-id [id]
|
(defn get-by-id [id]
|
||||||
(->>
|
(->>
|
||||||
(d/pull (d/db (d/connect uri)) default-read id)
|
(d/pull (d/db (d/connect uri)) default-read id)
|
||||||
|
|||||||
@@ -39,18 +39,28 @@
|
|||||||
:where ['[?e :invoice/invoice-number]]}
|
:where ['[?e :invoice/invoice-number]]}
|
||||||
:args [(d/db (d/connect uri))]}
|
:args [(d/db (d/connect uri))]}
|
||||||
|
|
||||||
(limited-clients (:id args)) (add-arg '[?xx ...] (set (map :db/id (limited-clients (:id args))))
|
(limited-clients (:id args))
|
||||||
'[?e :invoice/client ?xx])
|
(merge-query {:query {:in ['[?xx ...]]
|
||||||
(:client-id args) (add-arg '?client-id (:client-id args)
|
:where ['[?e :invoice/client ?xx]]}
|
||||||
'[?e :invoice/client ?client-id])
|
:args [ (set (map :db/id (limited-clients (:id args))))]})
|
||||||
|
(:client-id args)
|
||||||
|
(merge-query {:query {:in ['?client-id]
|
||||||
|
:where ['[?e :invoice/client ?client-id]]}
|
||||||
|
:args [ (:client-id args)]})
|
||||||
|
|
||||||
(:client-code args) (add-arg '?client-code (:client-code args)
|
(:client-code args)
|
||||||
'[?e :invoice/client ?client-id]
|
(merge-query {:query {:in ['?client-code]
|
||||||
'[?client-id :client/code ?client-code])
|
:where ['[?e :invoice/client ?client-id]
|
||||||
|
'[?client-id :client/code ?client-code]]}
|
||||||
|
:args [ (:client-code args)]})
|
||||||
|
|
||||||
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
|
(:original-id args)
|
||||||
'[?e :invoice/client ?c]
|
(merge-query {:query {:in ['?original-id]
|
||||||
'[?c :client/original-id ?original-id])
|
:where [
|
||||||
|
'[?e :invoice/client ?c]
|
||||||
|
'[?c :client/original-id ?original-id]]}
|
||||||
|
:args [ (cond-> (:original-id args)
|
||||||
|
(string? (:original-id args)) Long/parseLong )]})
|
||||||
|
|
||||||
(:start (:date-range args)) (merge-query {:query {:in '[?start-date]
|
(:start (:date-range args)) (merge-query {:query {:in '[?start-date]
|
||||||
:where ['[?e :invoice/date ?date]
|
:where ['[?e :invoice/date ?date]
|
||||||
@@ -62,15 +72,24 @@
|
|||||||
'[(<= ?date ?end-date)]]}
|
'[(<= ?date ?end-date)]]}
|
||||||
:args [(c/to-date (:end (:date-range args)))]})
|
:args [(c/to-date (:end (:date-range args)))]})
|
||||||
|
|
||||||
(:import-status args) (add-arg '?import-status (keyword "import-status" (:import-status args))
|
(:import-status args)
|
||||||
'[?e :invoice/import-status ?import-status])
|
(merge-query {:query {:in ['?import-status]
|
||||||
(:status args) (add-arg '?status (keyword "invoice-status" (:status args))
|
:where ['[?e :invoice/import-status ?import-status]]}
|
||||||
'[?e :invoice/status ?status])
|
:args [ (keyword "import-status" (:import-status args))]})
|
||||||
(:vendor-id args) (add-arg '?vendor-id (:vendor-id args)
|
(:status args)
|
||||||
'[?e :invoice/vendor ?vendor-id])
|
(merge-query {:query {:in ['?status]
|
||||||
(seq (:invoice-number-like args)) (add-arg '?invoice-number-like (:invoice-number-like args)
|
:where ['[?e :invoice/status ?status]]}
|
||||||
'[?e :invoice/invoice-number ?invoice-number]
|
:args [ (keyword "invoice-status" (:status args))]})
|
||||||
'[(.contains ^String ?invoice-number ?invoice-number-like)])))
|
(:vendor-id args)
|
||||||
|
(merge-query {:query {:in ['?vendor-id]
|
||||||
|
:where ['[?e :invoice/vendor ?vendor-id]]}
|
||||||
|
:args [ (:vendor-id args)]})
|
||||||
|
|
||||||
|
(seq (:invoice-number-like args))
|
||||||
|
(merge-query {:query {:in ['?invoice-number-like]
|
||||||
|
:where ['[?e :invoice/invoice-number ?invoice-number]
|
||||||
|
'[(.contains ^String ?invoice-number ?invoice-number-like)]]}
|
||||||
|
:args [(:invoice-number-like args)]})))
|
||||||
(map first)
|
(map first)
|
||||||
(<-datomic)))
|
(<-datomic)))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user