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
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
(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? check-number)) (helpers/merge-where [:= :check-number check-number])
(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}}]
(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
(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? status)) (helpers/merge-where [:= :status status])
(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}}]
(query
(cond-> (base-graphql args)
true (add-sort-by sort-by asc)
true (assoc :limit limit)
start (assoc :offset start))))

View File

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

View File

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