diff --git a/src/clj/auto_ap/db/checks.clj b/src/clj/auto_ap/db/checks.clj deleted file mode 100644 index 739371f5..00000000 --- a/src/clj/auto_ap/db/checks.clj +++ /dev/null @@ -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)) diff --git a/src/clj/auto_ap/db/companies.clj b/src/clj/auto_ap/db/companies.clj deleted file mode 100644 index d14a8f66..00000000 --- a/src/clj/auto_ap/db/companies.clj +++ /dev/null @@ -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))) diff --git a/src/clj/auto_ap/db/invoices.clj b/src/clj/auto_ap/db/invoices.clj deleted file mode 100644 index 3e87c2cf..00000000 --- a/src/clj/auto_ap/db/invoices.clj +++ /dev/null @@ -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)) - diff --git a/src/clj/auto_ap/db/invoices_checks.clj b/src/clj/auto_ap/db/invoices_checks.clj deleted file mode 100644 index 7c39f797..00000000 --- a/src/clj/auto_ap/db/invoices_checks.clj +++ /dev/null @@ -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) - )) diff --git a/src/clj/auto_ap/db/invoices_expense_accounts.clj b/src/clj/auto_ap/db/invoices_expense_accounts.clj deleted file mode 100644 index f020176f..00000000 --- a/src/clj/auto_ap/db/invoices_expense_accounts.clj +++ /dev/null @@ -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]})) diff --git a/src/clj/auto_ap/db/reminders.clj b/src/clj/auto_ap/db/reminders.clj deleted file mode 100644 index 93e63a1f..00000000 --- a/src/clj/auto_ap/db/reminders.clj +++ /dev/null @@ -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])) diff --git a/src/clj/auto_ap/db/transactions.clj b/src/clj/auto_ap/db/transactions.clj deleted file mode 100644 index a0bc2d44..00000000 --- a/src/clj/auto_ap/db/transactions.clj +++ /dev/null @@ -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)) diff --git a/src/clj/auto_ap/db/users.clj b/src/clj/auto_ap/db/users.clj deleted file mode 100644 index 203369f3..00000000 --- a/src/clj/auto_ap/db/users.clj +++ /dev/null @@ -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))) diff --git a/src/clj/auto_ap/db/utils.clj b/src/clj/auto_ap/db/utils.clj deleted file mode 100644 index 181449a6..00000000 --- a/src/clj/auto_ap/db/utils.clj +++ /dev/null @@ -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))) diff --git a/src/clj/auto_ap/db/vendors.clj b/src/clj/auto_ap/db/vendors.clj deleted file mode 100644 index 79c8b47a..00000000 --- a/src/clj/auto_ap/db/vendors.clj +++ /dev/null @@ -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)))