date range filter for everyone.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
(ns auto-ap.datomic.invoices
|
||||
(:require [datomic.api :as d]
|
||||
[auto-ap.datomic :refer [uri remove-nils]]
|
||||
[auto-ap.datomic :refer [uri remove-nils merge-query]]
|
||||
[auto-ap.graphql.utils :refer [limited-clients]]
|
||||
[auto-ap.parse :as parse]
|
||||
[clj-time.coerce :as c]
|
||||
@@ -51,6 +51,17 @@
|
||||
(:original-id args) (add-arg '?original-id (cond-> (:original-id args) (string? (:original-id args)) Long/parseLong )
|
||||
'[?e :invoice/client ?c]
|
||||
'[?c :client/original-id ?original-id])
|
||||
|
||||
(:start (:date-range args)) (merge-query {:query {:in '[?start-date]
|
||||
:where ['[?e :invoice/date ?date]
|
||||
'[(>= ?date ?start-date)]]}
|
||||
:args [(c/to-date (:start (:date-range args)))]})
|
||||
|
||||
(:end (:date-range args)) (merge-query {:query {:in '[?end-date]
|
||||
:where ['[?e :invoice/date ?date]
|
||||
'[(<= ?date ?end-date)]]}
|
||||
:args [(c/to-date (:end (:date-range args)))]})
|
||||
|
||||
(:import-status args) (add-arg '?import-status (keyword "import-status" (:import-status args))
|
||||
'[?e :invoice/import-status ?import-status])
|
||||
(:status args) (add-arg '?status (keyword "invoice-status" (:status args))
|
||||
|
||||
@@ -294,6 +294,7 @@
|
||||
|
||||
:invoice_page {:type '(list :invoice_page)
|
||||
:args {:import_status {:type 'String}
|
||||
:date_range {:type :date_range}
|
||||
:status {:type 'String}
|
||||
:client_id {:type :id}
|
||||
:vendor_id {:type :id}
|
||||
|
||||
Reference in New Issue
Block a user