you can now change types.

This commit is contained in:
Bryce Covert
2018-05-31 21:57:00 -07:00
parent 4c16c06457
commit 2f744be36c
7 changed files with 162 additions and 7 deletions

View File

@@ -29,3 +29,16 @@
[:= :i.id :nonexist.invoice-id]]
:where [:and [:= :nonexist.id nil]
[:not= :v.default-expense-account nil]] }] })))
(defn replace-for-invoice [invoice-id expense-accounts]
(j/db-do-prepared (get-conn)
(sql/format {:delete-from [:invoices-expense-accounts :i]
:where [:= :i.invoice-id invoice-id] }))
(println expense-accounts)
(j/insert-multi! (get-conn)
:invoices_expense_accounts
(doto (->> expense-accounts
(map (fn [x] (assoc x :invoice-id invoice-id)))
(map clj->db ))
println)) )

View File

@@ -160,6 +160,11 @@
:role {:type 'String}
:companies {:type '(list Int)}}}
:edit_expense_account
{:fields {:id {:type 'Int}
:expense_account_id {:type 'Int}
:amount {:type 'String}}}
:add_invoice
{:fields {:id {:type 'Int}
:invoice_number {:type 'String}
@@ -180,7 +185,11 @@
:add_invoice {:type :invoice
:args {:invoice {:type :add_invoice}}
:resolve :mutation/add-invoice}}})
:resolve :mutation/add-invoice}
:edit_expense_accounts {:type :invoice
:args {:invoice_id {:type 'Int}
:expense_accounts {:type '(list :edit_expense_account)}}
:resolve :mutation/edit-expense-accounts}}})
@@ -327,6 +336,7 @@
:mutation/print-checks print-checks
:mutation/edit-user gq-users/edit-user
:mutation/add-invoice gq-invoices/add-invoice
:mutation/edit-expense-accounts gq-invoices/edit-expense-accounts
:get-vendor get-vendor
:get-expense-account expense-accounts/get-expense-account
:get-expense-account-parent expense-accounts/get-parent})

View File

@@ -21,3 +21,12 @@
(defn get-invoices-expense-accounts [context args value]
(->graphql
(invoices-expense-accounts/get-for-invoice (:id value))))
(defn edit-expense-accounts [context args value]
(invoices-expense-accounts/replace-for-invoice (:invoice_id args) (map (fn [{:keys [id expense_account_id amount]}]
{
:expense-account-id expense_account_id
:amount (Double/parseDouble amount)} )
(:expense_accounts args)))
(->graphql
(invoices/get-by-id (:invoice_id args))))