checking for existing invoices.

This commit is contained in:
Bryce Covert
2018-07-30 17:49:05 -07:00
parent 9e00372857
commit 83ba0e4db0
3 changed files with 16 additions and 3 deletions

View File

@@ -63,7 +63,7 @@
(defn get-all []
(query base-query))
(defn find-conflicting [{:keys [id invoice-number company-id vendor-id]}]
(defn find-conflicting [{:keys [id invoice-number company-id vendor-id] :as i}]
(query
(-> base-query
(helpers/merge-where [:and [:not= :id id]

View File

@@ -37,8 +37,14 @@
(->graphql))))
(defn edit-invoice [context {{:keys [id] :as in} :invoice} value]
(defn edit-invoice [context {{:keys [id invoice_number vendor_id company_id] :as in} :invoice} value]
(let [invoice (invoices/get-by-id id)
_ (when (seq (invoices/find-conflicting {:id id
:invoice-number invoice_number
:vendor-id (:vendor-id invoice)
:company-id (:company-id invoice)}))
(throw (ex-info "that invoice already exists" {:invoice-number invoice_number})))
paid-amount (- (:total invoice) (:outstanding-balance invoice))
_ (assert-can-see-company (:id context) (:company-id invoice))
updated-invoice (invoices/update (-> in