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 :*
|
(def base-query (sql/build :select :*
|
||||||
:from :companies))
|
: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 []
|
(defn get-all []
|
||||||
(query base-query))
|
(map data->fields (query base-query)))
|
||||||
|
|
||||||
(defn get-by-id [id]
|
(defn get-by-id [id]
|
||||||
(first (query (-> base-query
|
(first (map data->fields
|
||||||
(helpers/merge-where [:= :id id])))))
|
(query (-> base-query
|
||||||
|
(helpers/merge-where [:= :id id]))))))
|
||||||
|
|
||||||
(defn upsert [id data]
|
(defn upsert [id data]
|
||||||
(prn (clj->db (select-keys data entity/all-keys)))
|
(prn (clj->db (select-keys data entity/all-keys)))
|
||||||
(-> (sql/build
|
(-> (sql/build
|
||||||
:update :companies
|
: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)
|
:where [:= :id (if (int? id)
|
||||||
id
|
id
|
||||||
(Integer/parseInt id))])
|
(Integer/parseInt id))])
|
||||||
|
|||||||
@@ -26,7 +26,13 @@
|
|||||||
:company
|
:company
|
||||||
{:fields {:id {:type 'Int}
|
{:fields {:id {:type 'Int}
|
||||||
:name {:type 'String}
|
: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
|
:vendor
|
||||||
{:fields {:id {:type 'Int}
|
{:fields {:id {:type 'Int}
|
||||||
:name {:type 'String}
|
:name {:type 'String}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
:user token)
|
:user token)
|
||||||
:graphql {:token token
|
:graphql {:token token
|
||||||
:query-obj {:venia/queries [[:company
|
:query-obj {:venia/queries [[:company
|
||||||
[:id :name]]]}
|
[:id :name [:bank-accounts [:id :number :check-number]]]]]}
|
||||||
|
|
||||||
:on-success [::received-companies]}}))))
|
:on-success [::received-companies]}}))))
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,13 @@
|
|||||||
:event ::events/change
|
:event ::events/change
|
||||||
:subscription editing-company}]]]]
|
: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)"}}])]
|
(when (:saving? editing-company) [:div.is-overlay {:style {"backgroundColor" "rgba(150,150,150, 0.5)"}}])]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user