Makes running datomic cloud work again
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
(ns auto-ap.routes.exports
|
||||
(:require
|
||||
[auto-ap.datomic :refer [conn]]
|
||||
[auto-ap.datomic :refer [conn pull-many]]
|
||||
[auto-ap.datomic.accounts :as accounts]
|
||||
[auto-ap.datomic.clients :as d-clients]
|
||||
[auto-ap.datomic.transactions :as d-transactions]
|
||||
@@ -20,8 +20,6 @@
|
||||
[com.unbounce.dogstatsd.core :as statsd]
|
||||
[config.core :refer [env]]
|
||||
[datomic.api :as d]
|
||||
[compojure.core :refer [context defroutes GET routes wrap-routes]]
|
||||
[config.core :refer [env]]
|
||||
[datomic.client.api :as dc]
|
||||
[ring.middleware.json :refer [wrap-json-response]]
|
||||
[venia.core :as venia]))
|
||||
@@ -38,7 +36,7 @@
|
||||
identity (jwt/unsign (get query-params "key") (:jwt-secret env) {:alg :hs512})]
|
||||
(assert-can-see-client identity client-id)
|
||||
(into (list)
|
||||
(d/query {:query {:find '[?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge)]
|
||||
(dc/q {:query {:find '[?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge)]
|
||||
:in '[$ ?c]
|
||||
:where '[[?s :sales-order/client ?c]
|
||||
[?s :sales-order/date ?d]
|
||||
@@ -49,7 +47,7 @@
|
||||
[(clj-time.coerce/to-date-time ?d) ?d2]
|
||||
[(auto-ap.time/localize ?d2) ?d3]
|
||||
[(auto-ap.time/unparse ?d3 auto-ap.time/normal-date) ?d4]]}
|
||||
:args [(d/db conn) client-id]}))))
|
||||
:args [(dc/db conn) client-id]}))))
|
||||
|
||||
(defn client-tag [params]
|
||||
(when-let [code (or (params "client-code")
|
||||
@@ -90,28 +88,29 @@
|
||||
{:body
|
||||
(list (into (list)
|
||||
(map datomic-map->graphql-map)
|
||||
(d/q '[:find [(pull ?i [:db/id :invoice/total :invoice/outstanding-balance :invoice/invoice-number :invoice/date :invoice/original-id
|
||||
{ :invoice/status [:db/ident]
|
||||
:invoice/payments
|
||||
[:invoice-payment/amount
|
||||
{:invoice-payment/payment [:payment/check-number
|
||||
:payment/memo
|
||||
{:payment/bank_account [:bank-account/id :bank-account/name :bank-account/number :bank-account/bank-name :bank-account/bank-code :bank-account/code]}]}]
|
||||
:invoice/vendor [:vendor/name
|
||||
:db/id
|
||||
{:vendor/primary-contact [:contact/name]
|
||||
:vendor/address [:address/street1 :address/city :address/state :address/zip]}]
|
||||
:invoice/expense-accounts [:db/id
|
||||
:invoice-expense-account/amount
|
||||
:invoice-expense-account/id
|
||||
:invoice-expense-account/location
|
||||
{:invoice-expense-account/account
|
||||
[:db/id :account/numeric-code :account/name]}]
|
||||
:invoice/client [:client/name :db/id :client/code :client/locations]}]) ...]
|
||||
:in $ ?c
|
||||
:where [?i :invoice/client ?c]]
|
||||
(d/db conn)
|
||||
[:client/code (query-params "client-code")])))}))
|
||||
(map first (dc/q '[:find (pull ?i [:db/id :invoice/total :invoice/outstanding-balance :invoice/invoice-number :invoice/date :invoice/original-id
|
||||
{ :invoice/status [:db/ident]
|
||||
:invoice/payments
|
||||
[:invoice-payment/amount
|
||||
{:invoice-payment/payment [:payment/check-number
|
||||
:payment/memo
|
||||
{:payment/bank_account [:bank-account/id :bank-account/name :bank-account/number :bank-account/bank-name :bank-account/bank-code :bank-account/code]}]}]
|
||||
:invoice/vendor [:vendor/name
|
||||
:db/id
|
||||
{:vendor/primary-contact [:contact/name]
|
||||
:vendor/address [:address/street1 :address/city :address/state :address/zip]}]
|
||||
:invoice/expense-accounts [:db/id
|
||||
:invoice-expense-account/amount
|
||||
:invoice-expense-account/id
|
||||
:invoice-expense-account/location
|
||||
{:invoice-expense-account/account
|
||||
[:db/id :account/numeric-code :account/name]}]
|
||||
:invoice/client [:client/name :db/id :client/code :client/locations]}])
|
||||
:in $ ?c
|
||||
:where [?i :invoice/client ?c]]
|
||||
|
||||
(dc/db conn)
|
||||
[:client/code (query-params "client-code")]))))}))
|
||||
|
||||
(defn export-payments [{:keys [query-params identity]}]
|
||||
(assert-admin identity)
|
||||
@@ -222,18 +221,19 @@
|
||||
(assert-admin identity)
|
||||
(statsd/time! [(str "export.time") {:tags #{"export:vendors"}}]
|
||||
{:body
|
||||
(map <-graphql (->> (d/q '[:find [?e ...]
|
||||
(map <-graphql (->> (dc/q '[:find ?e
|
||||
:in $
|
||||
:where [?e :vendor/name]]
|
||||
(d/db conn))
|
||||
(d/pull-many (d/db conn) vendor/default-read)))}))
|
||||
(dc/db conn))
|
||||
(map first)
|
||||
(pull-many (dc/db conn) vendor/default-read)))}))
|
||||
|
||||
(defn export-company-vendors [{:keys [identity query-params]}]
|
||||
(statsd/time! [(str "export.time") {:tags #{"export:company-vendors"}}]
|
||||
(let [client (:db/id (d/pull (d/db conn) [:db/id] [:client/code (get query-params "client")]))
|
||||
(let [client (:db/id (dc/pull (dc/db conn) [:db/id] [:client/code (get query-params "client")]))
|
||||
|
||||
_ (assert-can-see-client identity client)
|
||||
data (->> (d/q '[:find (pull ?v [:vendor/name
|
||||
data (->> (dc/q '[:find (pull ?v [:vendor/name
|
||||
:vendor/terms
|
||||
{:vendor/default-account [:account/name :account/numeric-code
|
||||
{:account/client-overrides
|
||||
@@ -253,7 +253,7 @@
|
||||
[(>= ?vu 0)]
|
||||
[?vu :vendor-usage/vendor ?v]
|
||||
(not [?v :vendor/hidden true])]
|
||||
(d/db conn)
|
||||
(dc/db conn)
|
||||
client)
|
||||
(map (fn [[v]]
|
||||
[(-> v :vendor/name)
|
||||
@@ -279,7 +279,7 @@
|
||||
(assert-admin identity)
|
||||
(statsd/time! [(str "export.time") {:tags #{(client-tag query-params)
|
||||
"export:ledger2"}}]
|
||||
(let [results (->> (d/q '[:find (pull ?e [:db/id
|
||||
(let [results (->> (dc/q '[:find (pull ?e [:db/id
|
||||
:journal-entry/external-id
|
||||
:journal-entry/cleared
|
||||
:journal-entry/alternate-description
|
||||
@@ -314,7 +314,7 @@
|
||||
:where [?e :journal-entry/client ?c]
|
||||
[?e :journal-entry/date ?date]
|
||||
[(>= ?date ?start-date)]]
|
||||
(d/db conn)
|
||||
(dc/db conn)
|
||||
[:client/code (query-params "client-code")]
|
||||
(coerce/to-date start-date)))
|
||||
tf-result (transduce (comp
|
||||
@@ -368,15 +368,16 @@
|
||||
(assert-admin identity)
|
||||
(statsd/time! [(str "export.time") {:tags #{(client-tag query-params)
|
||||
"export:transactions2"}}]
|
||||
{:body (let [db (d/db conn)]
|
||||
{:body (let [db (dc/db conn)]
|
||||
(->>
|
||||
(d/query {:query {:find ['?e]
|
||||
(dc/q {:query {:find ['?e]
|
||||
:in ['$ '?client-code]
|
||||
:where ['[?e :transaction/client ?client-code]]}
|
||||
:args [db [:client/code (query-params "client-code")]]})
|
||||
(map first)
|
||||
(map (fn [e]
|
||||
(let [e (d/entity db e)
|
||||
;; TODO
|
||||
#_(map (fn [e]
|
||||
(let [e (dc/entity db e)
|
||||
client (:transaction/client e)
|
||||
bank-account (:transaction/bank-account e)]
|
||||
{:id (:db/id e)
|
||||
@@ -416,7 +417,7 @@
|
||||
(log/info "Executing raw query " (get query-params "query" ))
|
||||
(statsd/time! [(str "export.time") {:tags #{"export:raw"}}]
|
||||
{:body
|
||||
(into (list) (apply d/q (read-string (get query-params "query" )) (into [(d/db conn)] (read-string (get query-params "args" "[]")))))}))
|
||||
(into (list) (apply dc/q (read-string (get query-params "query" )) (into [(dc/db conn)] (read-string (get query-params "args" "[]")))))}))
|
||||
|
||||
|
||||
(def routes2 {"api/" {"sales/" {"aggregated/" {#"export/?" {:get :aggregated-sales-export}}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
[clojure.string :as str]
|
||||
[clojure.tools.logging :as log]
|
||||
[config.core :refer [env]]
|
||||
[datomic.api :as d]
|
||||
[datomic.client.api :as dc]
|
||||
[digest]
|
||||
[ring.middleware.json :refer [wrap-json-response]]
|
||||
[unilog.context :as lc])
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
[config.core :refer [env]]
|
||||
[datomic.client.api :as dc]
|
||||
[datomic.api :as d]
|
||||
[compojure.core
|
||||
:refer [context defroutes GET POST PUT routes wrap-routes]]
|
||||
|
||||
[ring.middleware.json :refer [wrap-json-response]]
|
||||
[ring.util.request :refer [body-string]]
|
||||
[unilog.context :as lc])
|
||||
|
||||
Reference in New Issue
Block a user