now bank accounts exist.

This commit is contained in:
Bryce Covert
2018-05-14 09:48:44 -07:00
parent bbd9f00f30
commit 70766c6d4b
6 changed files with 34 additions and 6 deletions

View File

@@ -0,0 +1,2 @@
-- 1526315524 DOWN add-bank-accounts
update companies set data = '';

View File

@@ -0,0 +1,2 @@
-- 1526315524 UP add-bank-accounts
update companies set data = '{:bank-accounts [{:number "123456789" :id 1 :check-number 6789} {:number "987654321" :id 2 :check-number 1234}]}';

View File

@@ -9,18 +9,29 @@
(def base-query (sql/build :select :*
:from :companies))
(defn data->fields [x]
(-> x
(merge (:data x))
(dissoc :data)))
(defn fields->data [x]
(-> x
(assoc-in [:data :bank-accounts] (:bank-accounts x))
(dissoc :bank-accounts)))
(defn get-all []
(query base-query))
(map data->fields (query base-query)))
(defn get-by-id [id]
(first (query (-> base-query
(helpers/merge-where [:= :id id])))))
(first (map data->fields
(query (-> base-query
(helpers/merge-where [:= :id id]))))))
(defn upsert [id data]
(prn (clj->db (select-keys data entity/all-keys)))
(-> (sql/build
:update :companies
:set (clj->db (select-keys data entity/all-keys ))
:set (clj->db (select-keys (fields->data data) entity/all-keys ))
:where [:= :id (if (int? id)
id
(Integer/parseInt id))])

View File

@@ -26,7 +26,13 @@
:company
{:fields {:id {:type 'Int}
:name {:type 'String}
:email {:type 'String}}}
:email {:type 'String}
:bank_accounts {:type '(list :bank_account)}}}
:bank_account
{:fields {:id {:type 'Int}
:number {:type 'String}
:check_number {:type 'Int}}}
:vendor
{:fields {:id {:type 'Int}
:name {:type 'String}

View File

@@ -21,7 +21,7 @@
:user token)
:graphql {:token token
:query-obj {:venia/queries [[:company
[:id :name]]]}
[:id :name [:bank-accounts [:id :number :check-number]]]]]}
:on-success [::received-companies]}}))))

View File

@@ -65,6 +65,13 @@
:spec ::entity/name
:event ::events/change
:subscription editing-company}]]]]
[horizontal-field
[:label.label "Bank Accounts"]
[:div.control
[:ul
(for [{:keys [number check-number id]} (:bank-accounts editing-company)]
^{:key id} [:li number " - " check-number])]]]
(when (:saving? editing-company) [:div.is-overlay {:style {"backgroundColor" "rgba(150,150,150, 0.5)"}}])]