started adding graphql

This commit is contained in:
Bryce Covert
2018-04-10 18:36:20 -07:00
parent 53905c317b
commit 4165c7d180
9 changed files with 136 additions and 7 deletions

View File

@@ -15,3 +15,6 @@
(defn upsert [id data]
(j/update! (get-conn) :companies (clj->db data) ["id = ?" (Integer/parseInt id)] )
(parse (first (j/query (get-conn) ["SELECT * FROM companies WHERE id = ?" (Integer/parseInt id)]))))
(defn get-by-id [id]
(parse (first (j/query (get-conn) ["SELECT * FROM companies WHERE id = ?" id]))))

View File

@@ -5,7 +5,8 @@
[auto-ap.db.vendors :as vendors]
[auto-ap.entities.companies :as company]
[auto-ap.entities.vendors :as vendor]
[clojure.java.jdbc :as j]))
[clojure.java.jdbc :as j]
[clojure.string :as str]))
(defn insert-multi! [rows]
(j/insert-multi! (get-conn)
@@ -51,6 +52,16 @@
(with-relations (map db->clj (j/query (get-conn) ["SELECT * FROM invoices WHERE (imported=false or imported is null) AND company_id = ?" (Integer/parseInt company)])))
(with-relations (map db->clj (j/query (get-conn) "SELECT * FROM invoices WHERE imported=false or imported is null")))))
(defn query [params]
(let [ks (keys params)
sql (str " SELECT * FROM invoices "
(when (seq params)
" WHERE ")
(str/join " AND " (map (fn [k] (str (name k) " = ?")) ks)))
vs (map params ks)]
(j/query (get-conn) (into [sql] vs))))
(defn import [parsed-invoices companies vendors]
(insert-multi!
(for [{:keys [total date invoice-number customer-identifier vendor-code] :as row} parsed-invoices]

View File

@@ -21,12 +21,15 @@
kebabed)]
merged)))
(defn snake [x]
(into {}
(map
(fn [[k v]]
[(keyword (kebab->snake (name k))) v])
x)))
(defn clj->db [x]
(let [snaked (into {}
(map
(fn [[k v]]
[(keyword (kebab->snake (name k))) v])
x))
(let [snaked (snake x)
unmerged (if (:data snaked)
(update snaked :data pr-str)
snaked)]

View File

@@ -17,6 +17,9 @@
(->> (j/query (get-conn) "SELECT * FROM vendors")
(map parse)))
(defn get-by-id [id]
(parse (first (j/query (get-conn) ["SELECT * FROM vendors WHERE id = ?" id]))))
(defn upsert [id data]
(j/update! (get-conn) :vendors (unparse data) ["id = ?" (Integer/parseInt id)] )
(parse (first (j/query (get-conn) ["SELECT * FROM vendors WHERE id = ?" (Integer/parseInt id)]))))