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