Makes running datomic cloud work again

This commit is contained in:
2023-03-17 12:56:39 -07:00
parent aebf95a87b
commit f7fe2b2bee
12 changed files with 102 additions and 105 deletions

View File

@@ -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}}

View File

@@ -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])

View File

@@ -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])