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

@@ -283,7 +283,7 @@
(iterate #(time/plus % (time/days -1))) (iterate #(time/plus % (time/days -1)))
(filter #(= 7 (time/day-of-week %))))) (filter #(= 7 (time/day-of-week %)))))
(time/days 1))) (time/days 1)))
orders-to-update (doall (for [[order uuid] (d/q '[:find ?eid ?uuid orders-to-update (doall (for [[order uuid] (dc/q '[:find ?eid ?uuid
:in $ ?start :in $ ?start
:where [?e :sales-order/vendor :vendor/ccp-ezcater] :where [?e :sales-order/vendor :vendor/ccp-ezcater]
[?e :sales-order/date ?d] [?e :sales-order/date ?d]
@@ -293,7 +293,7 @@
[?c :client/ezcater-locations ?l] [?c :client/ezcater-locations ?l]
[?l :ezcater-location/caterer ?c2] [?l :ezcater-location/caterer ?c2]
[?c2 :ezcater-caterer/uuid ?uuid]] [?c2 :ezcater-caterer/uuid ?uuid]]
(d/db conn) (dc/db conn)
last-sunday) last-sunday)
:let [_ (alog/info ::considering :let [_ (alog/info ::considering
:order order) :order order)
@@ -307,7 +307,7 @@
"key" "accepted", "key" "accepted",
"occurred_at" "2022-07-21T19:21:07.549Z"} "occurred_at" "2022-07-21T19:21:07.549Z"}
ezcater-order (lookup-order lookup-map) ezcater-order (lookup-order lookup-map)
extant-order (d/pull (d/db conn) '[:sales-order/total extant-order (dc/pull (dc/db conn) '[:sales-order/total
:sales-order/tax :sales-order/tax
:sales-order/tip :sales-order/tip
:sales-order/discount :sales-order/discount
@@ -346,6 +346,6 @@
updated-order))] updated-order))]
(alog/info :found-orders-to-update (alog/info :found-orders-to-update
:orders orders-to-update) :orders orders-to-update)
@(dc/transact conn {:tx-data orders-to-update}))) (dc/transact conn {:tx-data orders-to-update})))

View File

@@ -98,10 +98,10 @@
:account/default-allowance) :account/default-allowance)
vendor-account (when vendor-id vendor-account (when vendor-id
(-> (d/q '[:find ?da (-> (dc/q '[:find ?da
:in $ ?v :in $ ?v
:where [?v :vendor/default-account ?da]] :where [?v :vendor/default-account ?da]]
(d/db conn) (dc/db conn)
vendor-id) vendor-id)
ffirst)) ffirst))
xform (comp xform (comp
@@ -117,37 +117,37 @@
"This account is not typically used for this purpose.")})))] "This account is not typically used for this purpose.")})))]
(if query (if query
(if num (if num
(->> (d/q '[:find ?n (pull ?i pattern) (->> (dc/q '[:find ?n (pull ?i pattern)
:in $ ?numeric-code ?allowance pattern :in $ ?numeric-code ?allowance pattern
:where [?i :account/numeric-code ?numeric-code] :where [?i :account/numeric-code ?numeric-code]
[?i :account/name ?n] [?i :account/name ?n]
(or [?i :account/applicability :account-applicability/global] (or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional] [?i :account/applicability :account-applicability/optional]
[?i :account/applicability :account-applicability/customized])] [?i :account/applicability :account-applicability/customized])]
(d/db conn) (dc/db conn)
num num
allowance allowance
search-pattern) search-pattern)
(sequence xform)) (sequence xform))
(->> (d/q '[:find ?n (pull ?i pattern) ?s (->> (dc/q '[:find ?n (pull ?i pattern) ?s
:in $ ?q ?allowance pattern :in $ ?q ?allowance pattern
:where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]] :where [(fulltext $ :account/search-terms ?q) [[?i ?n _ ?s]]]
[?i :account/numeric-code ?numeric-code] [?i :account/numeric-code ?numeric-code]
(or [?i :account/applicability :account-applicability/global] (or [?i :account/applicability :account-applicability/global]
[?i :account/applicability :account-applicability/optional])] [?i :account/applicability :account-applicability/optional])]
(d/db conn) (dc/db conn)
query query
allowance allowance
search-pattern) search-pattern)
(concat (when client (concat (when client
(d/q '[:find ?n (pull ?a pattern) ?s (dc/q '[:find ?n (pull ?a pattern) ?s
:in $ ?c ?q ?allowance pattern :in $ ?c ?q ?allowance pattern
:where :where
[?i :account-client-override/client ?c] [?i :account-client-override/client ?c]
[(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]] [(fulltext $ :account-client-override/search-terms ?q) [[?i ?n _ ?s]]]
[?a :account/client-overrides ?i] [?a :account/client-overrides ?i]
[?a :account/numeric-code ?numeric-code]] [?a :account/numeric-code ?numeric-code]]
(d/db conn) (dc/db conn)
client client
query query
allowance allowance

View File

@@ -1,7 +1,7 @@
(ns auto-ap.graphql.checks (ns auto-ap.graphql.checks
(:require (:require
[amazonica.aws.s3 :as s3] [amazonica.aws.s3 :as s3]
[auto-ap.datomic :refer [conn remove-nils plus]] [auto-ap.datomic :refer [conn remove-nils plus pull-many]]
[auto-ap.datomic.accounts :as a] [auto-ap.datomic.accounts :as a]
[auto-ap.datomic.bank-accounts :as d-bank-accounts] [auto-ap.datomic.bank-accounts :as d-bank-accounts]
[auto-ap.datomic.checks :as d-checks] [auto-ap.datomic.checks :as d-checks]
@@ -393,7 +393,7 @@
client (d-clients/get-by-id client-id) client (d-clients/get-by-id client-id)
invoice-amounts (by :invoice-id :amount invoice-payments) invoice-amounts (by :invoice-id :amount invoice-payments)
invoices-grouped-by-vendor (group-by (comp :db/id :invoice/vendor) invoices) invoices-grouped-by-vendor (group-by (comp :db/id :invoice/vendor) invoices)
vendors (->> (d/pull-many (d/db conn) d-vendors/default-read (keys invoices-grouped-by-vendor)) vendors (->> (pull-many (dc/db conn) d-vendors/default-read (keys invoices-grouped-by-vendor))
(by :db/id)) (by :db/id))
bank-account (d-bank-accounts/get-by-id bank-account-id) bank-account (d-bank-accounts/get-by-id bank-account-id)
_ (validate-belonging client-id invoices bank-account) _ (validate-belonging client-id invoices bank-account)
@@ -516,10 +516,10 @@
(defn void-payments-internal [all-ids id] (defn void-payments-internal [all-ids id]
(transact-with-ledger (->> all-ids (transact-with-ledger (->> all-ids
(d/q '[:find [(pull ?p [:db/id (dc/q '[:find (pull ?p [:db/id
{:invoice-payment/_payment [:invoice-payment/amount {:invoice-payment/_payment [:invoice-payment/amount
:db/id :db/id
{:invoice-payment/invoice [:db/id :invoice/outstanding-balance]}]}]) ...] {:invoice-payment/invoice [:db/id :invoice/outstanding-balance]}]}])
:in $ [?p ...] :in $ [?p ...]
:where :where
(not [_ :transaction/payment ?p]) (not [_ :transaction/payment ?p])
@@ -529,7 +529,8 @@
[?p :payment/date ?d] [?p :payment/date ?d]
[(>= ?d ?lu)] [(>= ?d ?lu)]
] ]
(d/db conn)) (dc/db conn))
(map first)
(mapcat (fn [{:keys [:db/id] (mapcat (fn [{:keys [:db/id]
invoices :invoice-payment/_payment}] invoices :invoice-payment/_payment}]
(into (into

View File

@@ -7,7 +7,6 @@
[auto-ap.datomic.ledger :as l] [auto-ap.datomic.ledger :as l]
[auto-ap.time :as atime] [auto-ap.time :as atime]
[auto-ap.ledger.reports :as l-reports] [auto-ap.ledger.reports :as l-reports]
[auto-ap.datomic.vendors :as d-vendors]
[auto-ap.graphql.utils [auto-ap.graphql.utils
:refer [->graphql <-graphql assert-admin assert-can-see-client result->page]] :refer [->graphql <-graphql assert-admin assert-can-see-client result->page]]
[auto-ap.parse.util :as parse] [auto-ap.parse.util :as parse]
@@ -17,11 +16,9 @@
[clj-time.core :as t] [clj-time.core :as t]
[clojure.tools.logging :as log] [clojure.tools.logging :as log]
[clojure.data.csv :as csv] [clojure.data.csv :as csv]
[com.walmartlabs.lacinia.util :refer [attach-resolvers]]
[datomic.client.api :as dc] [datomic.client.api :as dc]
[mount.core :as mount] [mount.core :as mount]
[com.brunobonacci.mulog :as mu] [com.brunobonacci.mulog :as mu]
[unilog.context :as lc]
[yang.scheduler :as scheduler] [yang.scheduler :as scheduler]
[auto-ap.graphql.utils :refer [attach-tracing-resolvers]]) [auto-ap.graphql.utils :refer [attach-tracing-resolvers]])
(:import [org.apache.commons.codec.binary Base64])) (:import [org.apache.commons.codec.binary Base64]))
@@ -297,12 +294,13 @@
(let [used-vendor-names (set (map :vendor_name (:entries args))) (let [used-vendor-names (set (map :vendor_name (:entries args)))
all-vendors (mu/trace ::get-all-vendors all-vendors (mu/trace ::get-all-vendors
[] []
(->> (d/q '[:find [?e ...] (->> (dc/q '[:find ?e
:in $ [?name ...] :in $ [?name ...]
:where [?e :vendor/name ?name]] :where [?e :vendor/name ?name]]
(d/db conn) (dc/db conn)
used-vendor-names) used-vendor-names)
(d/pull-many (d/db conn) [:db/id :vendor/name]) (map first)
(pull-many (dc/db conn) [:db/id :vendor/name])
(by :vendor/name))) (by :vendor/name)))
all-clients (mu/trace ::get-all-clients [] all-clients (mu/trace ::get-all-clients []
(by :client/code (d-clients/get-all ))) (by :client/code (d-clients/get-all )))
@@ -342,12 +340,13 @@
_ (mu/trace ::upsert-new-vendors _ (mu/trace ::upsert-new-vendors
[] []
(audit-transact-batch (vec (vals new-hidden-vendors)) (:id context))) (audit-transact-batch (vec (vals new-hidden-vendors)) (:id context)))
all-vendors (->> (d/q '[:find [?e ...] all-vendors (->> (dc/q '[:find ?e
:in $ [?name ...] :in $ [?name ...]
:where [?e :vendor/name ?name]] :where [?e :vendor/name ?name]]
(d/db conn) (dc/db conn)
used-vendor-names) used-vendor-names)
(d/pull-many (d/db conn) [:db/id :vendor/name]) (map first)
(pull-many (dc/db conn) [:db/id :vendor/name])
(by :vendor/name)) (by :vendor/name))
all-accounts (mu/trace ::get-all-accounts [] all-accounts (mu/trace ::get-all-accounts []
(transduce (map (comp str :account/numeric-code)) conj #{} (a/get-accounts))) (transduce (map (comp str :account/numeric-code)) conj #{} (a/get-accounts)))
@@ -455,11 +454,12 @@
success) success)
ignore-retraction (->> ignored ignore-retraction (->> ignored
(map :external_id ) (map :external_id )
(d/q '[:find [?je ...] (dc/q '[:find ?je
:in $ [?ei ...] :in $ [?ei ...]
:where [?je :journal-entry/external-id ?ei]] :where [?je :journal-entry/external-id ?ei]]
(d/db conn) (dc/db conn)
) )
(map first)
(map (fn [je] [:db/retractEntity je])))] (map (fn [je] [:db/retractEntity je])))]
(log/info "manual ledger import has " (count success) " new rows") (log/info "manual ledger import has " (count success) " new rows")
(log/info errors) (log/info errors)
@@ -583,7 +583,7 @@
(for [client-id (:client_ids input) (for [client-id (:client_ids input)
:let [_ (assert-can-see-client (:id context) client-id) :let [_ (assert-can-see-client (:id context) client-id)
account-lookup (build-account-lookup client-id) account-lookup (build-account-lookup client-id)
c (d/pull (d/db conn) '[:client/locations] client-id)] c (dc/pull (dc/db conn) '[:client/locations] client-id)]
location (:client/locations c) location (:client/locations c)
category (:categories input) category (:categories input)
:let [category (<-graphql category) :let [category (<-graphql category)
@@ -640,7 +640,7 @@
(for [client-id (:client_ids input) (for [client-id (:client_ids input)
:let [_ (assert-can-see-client (:id context) client-id) :let [_ (assert-can-see-client (:id context) client-id)
account-lookup (build-account-lookup client-id) account-lookup (build-account-lookup client-id)
c (d/pull (d/db conn) '[:client/locations] client-id)] c (dc/pull (dc/db conn) '[:client/locations] client-id)]
location (:client/locations c) location (:client/locations c)
line [{:client_id client-id line [{:client_id client-id
:location location :location location

View File

@@ -192,16 +192,16 @@
)) ))
(if-let [search-query (cleanse-query (:query args))] (if-let [search-query (cleanse-query (:query args))]
(let [data (if (is-admin? (:id context)) (let [data (if (is-admin? (:id context))
(d/q '[:find ?n ?i ?s (dc/q '[:find ?n ?i ?s
:in $ ?q :in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]] :where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]]
(d/db conn) (dc/db conn)
search-query) search-query)
(d/q '[:find ?n ?i ?s (dc/q '[:find ?n ?i ?s
:in $ ?q :in $ ?q
:where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]] :where [(fulltext $ :vendor/search-terms ?q) [[?i ?n _ ?s]]]
(not [?i :vendor/hidden true])] (not [?i :vendor/hidden true])]
(d/db conn) (dc/db conn)
search-query))] search-query))]
(->> data (->> data
(sort-by (comp - last)) (sort-by (comp - last))

View File

@@ -183,24 +183,19 @@
(defn touch-transaction [e] (defn touch-transaction [e]
(dc/transact conn {:tx-data [[:db/retractEntity [:journal-entry/original-entity e]]]}) (dc/transact conn {:tx-data [[:db/retractEntity [:journal-entry/original-entity e]]]})
(when-let [change (entity-change->ledger (d/db conn) (when-let [change (entity-change->ledger (dc/db conn)
[:transaction e])] [:transaction e])]
(dc/transact conn {:tx-data [{:db/id "datomic.tx" (dc/transact conn {:tx-data [{:db/id "datomic.tx"
:db/doc "touching transaction to update ledger"} :db/doc "touching transaction to update ledger"}
(entity-change->ledger (dc/db conn) change]})))
[:transaction e])]}))
)
(defn touch-invoice [e] (defn touch-invoice [e]
(dc/transact conn [[:db/retractEntity [:journal-entry/original-entity e]]]) (dc/transact conn [[:db/retractEntity [:journal-entry/original-entity e]]])
(when-let [change (entity-change->ledger (d/db conn) (when-let [change (entity-change->ledger (dc/db conn)
[:invoice e])] [:invoice e])]
(dc/transact conn [{:db/id "datomic.tx" (dc/transact conn [{:db/id "datomic.tx"
:db/doc "touching invoice to update ledger"} :db/doc "touching invoice to update ledger"}
(entity-change->ledger (dc/db conn) change])))
[:invoice e])]))
)
(defn lazy-tx-range (defn lazy-tx-range
([start end xf] (lazy-tx-range start end xf 0)) ([start end xf] (lazy-tx-range start end xf 0))
([start end xf o] ([start end xf o]

View File

@@ -231,7 +231,7 @@
(println args) (println args)
(let [data (<-graphql data) (let [data (<-graphql data)
args (<-graphql args) args (<-graphql args)
clients (d/pull-many (d/db conn) '[:client/code :client/name :db/id] (:client-ids args)) clients (pull-many (dc/db conn) '[:client/code :client/name :db/id] (:client-ids args))
report (l-reports/journal-detail-report args data (by :db/id :client/code clients)) report (l-reports/journal-detail-report args data (by :db/id :client/code clients))
output-stream (ByteArrayOutputStream.)] output-stream (ByteArrayOutputStream.)]
(log/info report) (log/info report)
@@ -266,7 +266,7 @@
max-date (atime/unparse-local max-date (atime/unparse-local
(->> args :date_range :end) (->> args :date_range :end)
atime/iso-date) atime/iso-date)
names (str/replace (->> args :client_ids (d/pull-many (d/db conn) [:client/name]) (map :client/name) (str/join "-")) #" " "_" )] names (str/replace (->> args :client_ids (pull-many (dc/db conn) [:client/name]) (map :client/name) (str/join "-")) #" " "_" )]
(format "Profit-and-loss-%s-to-%s-for-%s" min-date max-date names))) (format "Profit-and-loss-%s-to-%s-for-%s" min-date max-date names)))
(defn balance-sheet-args->name [args] (defn balance-sheet-args->name [args]
@@ -330,12 +330,13 @@
:input-stream (io/make-input-stream pdf-data {}) :input-stream (io/make-input-stream pdf-data {})
:metadata {:content-length (count pdf-data) :metadata {:content-length (count pdf-data)
:content-type "application/pdf"}) :content-type "application/pdf"})
@(d/transact conn (dc/transact conn
[{:report/name name {:tx-data
:report/client (:client_ids args) [{:report/name name
:report/key key :report/client (:client_ids args)
:report/url url :report/key key
:report/creator (:user user) :report/url url
:report/created (java.util.Date.)}]) :report/creator (:user user)
:report/created (java.util.Date.)}]})
{:report/name name {:report/name name
:report/url url })) :report/url url }))

View File

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

View File

@@ -19,7 +19,7 @@
[clojure.string :as str] [clojure.string :as str]
[clojure.tools.logging :as log] [clojure.tools.logging :as log]
[config.core :refer [env]] [config.core :refer [env]]
[datomic.api :as d] [datomic.client.api :as dc]
[digest] [digest]
[ring.middleware.json :refer [wrap-json-response]] [ring.middleware.json :refer [wrap-json-response]]
[unilog.context :as lc]) [unilog.context :as lc])

View File

@@ -12,8 +12,7 @@
[config.core :refer [env]] [config.core :refer [env]]
[datomic.client.api :as dc] [datomic.client.api :as dc]
[datomic.api :as d] [datomic.api :as d]
[compojure.core
:refer [context defroutes GET POST PUT routes wrap-routes]]
[ring.middleware.json :refer [wrap-json-response]] [ring.middleware.json :refer [wrap-json-response]]
[ring.util.request :refer [body-string]] [ring.util.request :refer [body-string]]
[unilog.context :as lc]) [unilog.context :as lc])

View File

@@ -326,7 +326,7 @@
(defn daily-settlements (defn daily-settlements
([client location] ([client location]
(->> (for [settlement (settlements client location) (->> (for [settlement (settlements client location)
:let [best-sales-date (->> (d/q '[:find ?s4 (count ?s) :let [best-sales-date (->> (dc/q '[:find ?s4 (count ?s)
:in $ ?settlement-id :in $ ?settlement-id
:where :where
[?settlement :expected-deposit/external-id ?settlement-id] [?settlement :expected-deposit/external-id ?settlement-id]
@@ -336,7 +336,7 @@
[(clj-time.coerce/to-date-time ?sales-date) ?s2] [(clj-time.coerce/to-date-time ?sales-date) ?s2]
[(auto-ap.time/localize ?s2) ?s3] [(auto-ap.time/localize ?s2) ?s3]
[(clj-time.coerce/to-local-date ?s3) ?s4]] [(clj-time.coerce/to-local-date ?s3) ?s4]]
(d/db conn) (dc/db conn)
(str "square/settlement/" (:id settlement))) (str "square/settlement/" (:id settlement)))
(sort-by last) (sort-by last)
last last

View File

@@ -444,8 +444,8 @@
(mount.core/start (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client}))) (mount.core/start (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client})))
(defn restart-db [] (defn restart-db []
(require 'datomic.dev-local) #_(require 'datomic.dev-local)
(datomic.dev-local/release-db {:system "dev" :db-name "prod-migration"}) #_(datomic.dev-local/release-db {:system "dev" :db-name "prod-migration"})
(mount.core/stop (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client})) (mount.core/stop (mount.core/only #{#'auto-ap.datomic/conn #'auto-ap.datomic/client}))
(start-db)) (start-db))