lots of fixes to sorting and adding dates on checks.
This commit is contained in:
@@ -50,20 +50,33 @@
|
||||
(map db->clj)
|
||||
(map data->fields)))
|
||||
|
||||
#_(defn add-sort-by [q sort-by asc]
|
||||
(def all-keys #{:company-id :vendor-id :id :status :date :s3-uuid :s3-key :s3-url :check-number :memo :amount :paid-to :bank-account-id})
|
||||
|
||||
(defn add-sort-by [q sort-by asc]
|
||||
(println sort-by)
|
||||
(let [sort-by-key (keyword sort-by)]
|
||||
(cond (all-keys sort-by-key)
|
||||
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
|
||||
(cond (nil? sort-by)
|
||||
(helpers/merge-order-by q [:date])
|
||||
|
||||
(= :date sort-by-key)
|
||||
(helpers/merge-order-by q [:date (when-not asc :desc)])
|
||||
|
||||
(all-keys sort-by-key)
|
||||
(helpers/merge-order-by q
|
||||
[sort-by-key (when-not asc :desc)]
|
||||
[:date])
|
||||
|
||||
(= :vendor sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :checks.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
(= :company sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :checks.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
:else
|
||||
q)))
|
||||
@@ -82,7 +95,7 @@
|
||||
(defn get-graphql [{:keys [start sort-by asc id limit] :as args :or {limit 20}}]
|
||||
(query
|
||||
(cond-> (base-graphql args)
|
||||
#_#_(not (nil? sort-by) ) (add-sort-by sort-by asc)
|
||||
true (add-sort-by sort-by asc)
|
||||
true (assoc :limit limit)
|
||||
start (assoc :offset start))))
|
||||
|
||||
|
||||
@@ -95,18 +95,28 @@
|
||||
|
||||
(defn add-sort-by [q sort-by asc]
|
||||
(let [sort-by-key (keyword sort-by)]
|
||||
(cond (all-keys sort-by-key)
|
||||
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
|
||||
(cond (nil? sort-by)
|
||||
(helpers/merge-order-by q [:date])
|
||||
|
||||
(= :date sort-by-key)
|
||||
(helpers/merge-order-by q [:date (when-not asc :desc)])
|
||||
|
||||
(all-keys sort-by-key)
|
||||
(helpers/merge-order-by q
|
||||
[sort-by-key (when-not asc :desc)]
|
||||
[:date])
|
||||
|
||||
(= :vendor sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
(= :company sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
:else
|
||||
q)))
|
||||
@@ -123,7 +133,7 @@
|
||||
(defn get-graphql [{:keys [start sort-by asc limit] :as args :or {limit 20}}]
|
||||
(query
|
||||
(cond-> (base-graphql args)
|
||||
(not (nil? sort-by) ) (add-sort-by sort-by asc)
|
||||
true (add-sort-by sort-by asc)
|
||||
true (assoc :limit limit)
|
||||
start (assoc :offset start))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user