filtering down to just active invoices/etc.

This commit is contained in:
Bryce Covert
2018-08-23 18:46:08 -07:00
parent 5e507f4f8d
commit 8a74f4a4e2
4 changed files with 15 additions and 7 deletions

View File

@@ -80,7 +80,7 @@
:else :else
q))) q)))
(defn base-graphql [{:keys [company-id vendor-id check-number bank-account-id status amount id]}] (defn base-graphql [{:keys [company-id vendor-id check-number bank-account-id status amount id statuses]}]
(cond-> base-query (cond-> base-query
(limited-companies id) (helpers/merge-where [:in :company-id (limited-companies id)]) (limited-companies id) (helpers/merge-where [:in :company-id (limited-companies id)])
@@ -89,7 +89,8 @@
(not (nil? vendor-id)) (helpers/merge-where [:= :vendor-id vendor-id]) (not (nil? vendor-id)) (helpers/merge-where [:= :vendor-id vendor-id])
(not (nil? check-number)) (helpers/merge-where [:= :check-number check-number]) (not (nil? check-number)) (helpers/merge-where [:= :check-number check-number])
(not (nil? status)) (helpers/merge-where [:= :status status]) (not (nil? status)) (helpers/merge-where [:= :status status])
(not (nil? amount)) (helpers/merge-where [:= :amount amount]))) (not (nil? amount)) (helpers/merge-where [:= :amount amount])
(seq statuses ) (helpers/merge-where [:in :status statuses])))
(defn get-graphql [{:keys [start sort-by asc id limit] :as args :or {limit 20}}] (defn get-graphql [{:keys [start sort-by asc id limit] :as args :or {limit 20}}]
(query (query

View File

@@ -142,9 +142,10 @@
(defn base-graphql [{:keys [imported company-id status id]}] (defn base-graphql [{:keys [imported company-id status id statuses]}]
(cond-> base-query (cond-> base-query
(limited-companies id) (helpers/merge-where [:in :company-id (limited-companies id)]) (limited-companies id) (helpers/merge-where [:in :company-id (limited-companies id)])
(seq statuses ) (helpers/merge-where [:in :status statuses])
(not (nil? imported)) (helpers/merge-where [:= :imported imported]) (not (nil? imported)) (helpers/merge-where [:= :imported imported])
(not (nil? status)) (helpers/merge-where [:= :status status]) (not (nil? status)) (helpers/merge-where [:= :status status])
(not (nil? company-id)) (helpers/merge-where [:= :company-id company-id]))) (not (nil? company-id)) (helpers/merge-where [:= :company-id company-id])))
@@ -152,6 +153,7 @@
(defn get-graphql [{:keys [start sort-by asc limit] :as args :or {limit 20}}] (defn get-graphql [{:keys [start sort-by asc limit] :as args :or {limit 20}}]
(query (query
(cond-> (base-graphql args) (cond-> (base-graphql args)
true (add-sort-by sort-by asc) true (add-sort-by sort-by asc)
true (assoc :limit limit) true (assoc :limit limit)
start (assoc :offset start)))) start (assoc :offset start))))

View File

@@ -203,11 +203,13 @@
:resolve :get-invoice-page} :resolve :get-invoice-page}
:all_invoices {:type '(list :invoice) :all_invoices {:type '(list :invoice)
:args {:company_id {:type 'Int}} :args {:company_id {:type 'Int}
:statuses {:type '(list String)}}
:resolve :get-all-invoices} :resolve :get-all-invoices}
:all_checks {:type '(list :check) :all_checks {:type '(list :check)
:args {:company_id {:type 'Int}} :args {:company_id {:type 'Int}
:statuses {:type '(list String)}}
:resolve :get-all-checks} :resolve :get-all-checks}
:transaction_page {:type '(list :transaction_page) :transaction_page {:type '(list :transaction_page)

View File

@@ -25,7 +25,9 @@
(GET "/invoices/export" {:keys [query-params identity] :as request} (GET "/invoices/export" {:keys [query-params identity] :as request}
(assert-admin identity) (assert-admin identity)
(let [query [[:all_invoices (let [query [[:all_invoices
{:company-id (query-params "company")} {:company-id (query-params "company")
:statuses ["unpaid" "paid"]}
[:id :total :outstanding-balance :invoice-number :date [:id :total :outstanding-balance :invoice-number :date
[:checks [:amount [:check [:check-number :memo [:bank_account [:id :number :bank-name :bank-code]]]]]] [:checks [:amount [:check [:check-number :memo [:bank_account [:id :number :bank-name :bank-code]]]]]]
[:vendor [:name :id :primary_contact [:address [:street1 :city :state :zip]]]] [:vendor [:name :id :primary_contact [:address [:street1 :city :state :zip]]]]
@@ -37,7 +39,8 @@
(GET "/checks/export" {:keys [query-params identity]} (GET "/checks/export" {:keys [query-params identity]}
(assert-admin identity) (assert-admin identity)
(let [query [[:all_checks (let [query [[:all_checks
{:company-id (query-params "company")} {:company-id (query-params "company")
:statuses ["pending" "cleared"]}
[:id :check-number :amount :memo :date [:id :check-number :amount :memo :date
[:invoices [:invoice-id :amount]] [:invoices [:invoice-id :amount]]
[:bank-account [:number :bank-name :bank-code :id]] [:bank-account [:number :bank-name :bank-code :id]]