Files
integreat/src/clj/auto_ap/db/invoices_checks.clj
2018-07-05 23:41:50 -07:00

44 lines
1.2 KiB
Clojure

(ns auto-ap.db.invoices-checks
(:require [auto-ap.db.utils :refer [clj->db db->clj get-conn execute!] :as u]
[auto-ap.entities.companies :as entity]
[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 insert-multi! [rows]
(->> (j/insert-multi! (get-conn)
:invoices_checks
(->> rows
(map clj->db)))
(map db->clj)
))