now bank accounts exist.
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user