removed a bunch of db stuff.
This commit is contained in:
@@ -1,20 +0,0 @@
|
|||||||
(ns auto-ap.db.checks
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn execute!] :as u]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :*
|
|
||||||
:from :checks))
|
|
||||||
|
|
||||||
(defn data->fields [x]
|
|
||||||
(-> x
|
|
||||||
(merge (:data x))
|
|
||||||
(dissoc :data)))
|
|
||||||
|
|
||||||
(defn query [q]
|
|
||||||
(map data->fields (u/query q)))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(query base-query))
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
(ns auto-ap.db.companies
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn query execute!]]
|
|
||||||
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
(def all-fields #{:name :email :data :id :signature-file})
|
|
||||||
|
|
||||||
(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))
|
|
||||||
(assoc-in [:data :address] (:address x))
|
|
||||||
(assoc-in [:data :locations] (:locations x))
|
|
||||||
(dissoc :bank-accounts)
|
|
||||||
(dissoc :locations)
|
|
||||||
(dissoc :address)))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(map data->fields (query base-query)))
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
(ns auto-ap.db.invoices
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db kebab->snake db->clj get-conn query] :as utils]
|
|
||||||
[auto-ap.parse :as parse]
|
|
||||||
[auto-ap.db.companies :as companies]
|
|
||||||
[auto-ap.db.invoices-checks :as invoices-checks]
|
|
||||||
[auto-ap.db.vendors :as vendors]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[clojure.string :as str]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
|
|
||||||
(def all-keys #{:company-id :vendor-id :imported :potential-duplicate :total :invoice-number :date :outstanding-balance :default-location :default-expense-account})
|
|
||||||
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :invoices.*
|
|
||||||
:from :invoices))
|
|
||||||
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(query base-query))
|
|
||||||
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
(ns auto-ap.db.invoices-checks
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn execute!] :as u]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :*
|
|
||||||
:from :invoices-checks))
|
|
||||||
|
|
||||||
(defn query [q]
|
|
||||||
(u/query q))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(query base-query))
|
|
||||||
|
|
||||||
(defn get-for-invoice-id [id]
|
|
||||||
(query (-> base-query
|
|
||||||
(helpers/merge-where [:= :invoice-id id]))))
|
|
||||||
|
|
||||||
(defn get-for-check-id [id]
|
|
||||||
(query (-> base-query
|
|
||||||
(helpers/merge-where [:= :check-id id]))))
|
|
||||||
|
|
||||||
|
|
||||||
(defn get-sum-by-invoice [id]
|
|
||||||
(:sum (first (query (-> (helpers/select :%sum.amount)
|
|
||||||
(helpers/from :invoices-checks)
|
|
||||||
(helpers/merge-where [:= :invoice-id id])
|
|
||||||
)))))
|
|
||||||
|
|
||||||
(defn get-by-id [id]
|
|
||||||
(first (query (-> base-query
|
|
||||||
(helpers/merge-where [:= :id id])))))
|
|
||||||
|
|
||||||
(defn get-by-check-id [check-id]
|
|
||||||
(query (-> base-query
|
|
||||||
(helpers/merge-where [:= :check-id check-id]))))
|
|
||||||
|
|
||||||
(defn delete! [id]
|
|
||||||
(j/delete! (get-conn) :invoices_checks ["id = ?" id]))
|
|
||||||
|
|
||||||
(defn insert-multi! [rows]
|
|
||||||
(->> (j/insert-multi! (get-conn)
|
|
||||||
:invoices_checks
|
|
||||||
(->> rows
|
|
||||||
(map clj->db)))
|
|
||||||
(map db->clj)
|
|
||||||
))
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
(ns auto-ap.db.invoices-expense-accounts
|
|
||||||
(:require [honeysql.core :as sql]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[auto-ap.db.utils :refer [clj->db kebab->snake db->clj get-conn query] :as utils]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
(defn get-all []
|
|
||||||
(query {:select [:*]
|
|
||||||
:from [:invoices-expense-accounts]}))
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
(ns auto-ap.db.reminders
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn query execute!]]
|
|
||||||
[clj-time.core :as time]
|
|
||||||
[amazonica.aws.simpleemail :as ses]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[config.core :refer [env]]
|
|
||||||
[clj-time.jdbc :as jdbc]
|
|
||||||
[clojure.string :as str]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
(ns auto-ap.db.transactions
|
|
||||||
(:require [clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]
|
|
||||||
[honeysql-postgres.format :as postgres-format]
|
|
||||||
[honeysql-postgres.helpers :as postgres-helpers]
|
|
||||||
[auto-ap.db.utils :refer [clj->db kebab->snake db->clj get-conn query] :as utils]))
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :*
|
|
||||||
:from :transactions))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(query base-query))
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
(ns auto-ap.db.users
|
|
||||||
(:require [auto-ap.db.utils :refer [get-conn query db->clj clj->db]]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]))
|
|
||||||
|
|
||||||
(defn data->fields [x]
|
|
||||||
(-> x
|
|
||||||
(merge (:data x))
|
|
||||||
(dissoc :data)))
|
|
||||||
|
|
||||||
(defn fields->data [x]
|
|
||||||
(-> x
|
|
||||||
(assoc-in [:data :role] (:role x))
|
|
||||||
(assoc-in [:data :name] (:name x))
|
|
||||||
(assoc-in [:data :companies] (:companies x))
|
|
||||||
(dissoc :role)
|
|
||||||
(dissoc :name)
|
|
||||||
(dissoc :companies)))
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :*
|
|
||||||
:from :users))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(map data->fields (query base-query)))
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
(ns auto-ap.db.utils
|
|
||||||
(:require [clojure.string :as str]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[config.core :refer [env]]
|
|
||||||
[honeysql.core :as sql]))
|
|
||||||
|
|
||||||
(defn snake->kebab [s]
|
|
||||||
(str/replace s #"_" "-"))
|
|
||||||
|
|
||||||
(defn kebab->snake [s]
|
|
||||||
(str/replace s #"-" "_"))
|
|
||||||
|
|
||||||
(defn db->clj
|
|
||||||
([x]
|
|
||||||
(let [kebabed (into {}
|
|
||||||
(map
|
|
||||||
(fn [[k v]]
|
|
||||||
[(keyword (snake->kebab (name k))) v])
|
|
||||||
x))
|
|
||||||
merged (if (:data kebabed)
|
|
||||||
(update kebabed :data edn/read-string)
|
|
||||||
kebabed)]
|
|
||||||
merged)))
|
|
||||||
|
|
||||||
(defn snake [x]
|
|
||||||
(into {}
|
|
||||||
(map
|
|
||||||
(fn [[k v]]
|
|
||||||
[(keyword (kebab->snake (name k))) v])
|
|
||||||
x)))
|
|
||||||
|
|
||||||
(defn clj->db [x]
|
|
||||||
(let [snaked (snake x)
|
|
||||||
unmerged (if (:data snaked)
|
|
||||||
(update snaked :data pr-str)
|
|
||||||
snaked)]
|
|
||||||
unmerged))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn merge-data [{:keys [data] :as x}]
|
|
||||||
(merge x (edn/read-string data)))
|
|
||||||
|
|
||||||
(def ^{:dynamic true} current-conn nil)
|
|
||||||
|
|
||||||
(defn get-conn []
|
|
||||||
(if current-conn
|
|
||||||
current-conn
|
|
||||||
(let [db-host (:server (:db env))
|
|
||||||
db-port 5432
|
|
||||||
db-name "autoap"]
|
|
||||||
{:classname "org.postgresql.Driver" ; must be in classpath
|
|
||||||
#_#_:ssl true
|
|
||||||
#_#_:sslfactory "org.postgresql.ssl.NonValidatingFactory"
|
|
||||||
:subprotocol "postgresql"
|
|
||||||
:subname (str "//" db-host ":" db-port "/" db-name)
|
|
||||||
:user "ap"
|
|
||||||
:password "fifteen-invoices-imported!"})))
|
|
||||||
|
|
||||||
(defn query [q]
|
|
||||||
(let [formatted (sql/format q)]
|
|
||||||
(println "Executing query " q " SQL: " formatted)
|
|
||||||
|
|
||||||
(map db->clj (j/query (get-conn) formatted))))
|
|
||||||
|
|
||||||
(defn execute! [q]
|
|
||||||
(let [formatted (sql/format q)]
|
|
||||||
(println "Executing query " q " SQL: " formatted)
|
|
||||||
(j/execute! (get-conn) formatted)))
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
(ns auto-ap.db.vendors
|
|
||||||
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn query execute!]]
|
|
||||||
[auto-ap.entities.vendors :as entities]
|
|
||||||
[clojure.edn :as edn]
|
|
||||||
[clojure.java.jdbc :as j]
|
|
||||||
[honeysql.core :as sql]
|
|
||||||
[honeysql.helpers :as helpers]
|
|
||||||
[honeysql.format :as f]))
|
|
||||||
|
|
||||||
(defn fields->data [x]
|
|
||||||
(-> x
|
|
||||||
(assoc-in [:data :address] (:address x))
|
|
||||||
(assoc-in [:data :print-as] (:print-as x))
|
|
||||||
(dissoc :address)
|
|
||||||
(dissoc :print-as)))
|
|
||||||
|
|
||||||
(def all-fields [:name
|
|
||||||
:print-as
|
|
||||||
:code
|
|
||||||
:id
|
|
||||||
:invoice-reminder-schedule
|
|
||||||
:primary-contact
|
|
||||||
:primary-email
|
|
||||||
:primary-phone
|
|
||||||
:secondary-contact
|
|
||||||
:secondary-email
|
|
||||||
:secondary-phone
|
|
||||||
:default-expense-account
|
|
||||||
:data])
|
|
||||||
|
|
||||||
(defn unparse [x]
|
|
||||||
(-> (fields->data x)
|
|
||||||
(select-keys all-fields)
|
|
||||||
(clj->db)))
|
|
||||||
|
|
||||||
(def base-query (sql/build :select :*
|
|
||||||
:from :vendors))
|
|
||||||
|
|
||||||
(defn data->fields [x]
|
|
||||||
(-> x
|
|
||||||
(merge (:data x))
|
|
||||||
(dissoc :data)))
|
|
||||||
|
|
||||||
(defn get-all []
|
|
||||||
(map data->fields (query base-query)))
|
|
||||||
Reference in New Issue
Block a user