now bank accounts exist.
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
-- 1526315524 DOWN add-bank-accounts
|
||||
update companies set data = '';
|
||||
2
migrator/migrations/1526315524-UP-add-bank-accounts.sql
Normal file
2
migrator/migrations/1526315524-UP-add-bank-accounts.sql
Normal 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}]}';
|
||||
@@ -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))])
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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]}}))))
|
||||
|
||||
|
||||
@@ -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)"}}])]
|
||||
|
||||
Reference in New Issue
Block a user