Getting closer to datomic cloud

This commit is contained in:
2023-03-18 20:07:34 -07:00
parent bd658906b5
commit 78519663ac
17 changed files with 299 additions and 177 deletions

View File

@@ -8,7 +8,7 @@
[auto-ap.time :as atime]
[clj-time.coerce :as coerce]
[clojure.string :as str]
[datomic.api :as d]
[datomic.client.api :as dc]
[hiccup2.core :as hiccup]))
(defn tx-rows->changes [history]
@@ -123,13 +123,13 @@
(get params "entity-id")
(get form-params "entity-id")))
history (->>
(d/q '[:find ?a2 ?v (pull ?tx [:db/txInstant :audit/user :db/id]) ?ad
(dc/q '[:find ?a2 ?v (pull ?tx [:db/txInstant :audit/user :db/id]) ?ad
:in $ $$ ?i
:where
[$$ ?i ?a ?v ?tx ?ad]
[$ ?a :db/ident ?a2]]
(d/db conn)
(d/history (d/db conn))
(dc/db conn)
(dc/history (dc/db conn))
entity-id )
tx-rows->changes
(sort-by (comp :db/id first))
@@ -166,7 +166,7 @@
:request request)
(try
(let [entity-id (Long/parseLong entity-id)
data (d/pull (d/db conn)
data (dc/pull (dc/db conn)
'[*]
entity-id)]

View File

@@ -8,7 +8,7 @@
[auto-ap.ssr.utils :refer [html-response]]
[bidi.bidi :as bidi]
[clojure.string :as str]
[datomic.api :as d]
[datomic.client.api :as dc]
[hiccup2.core :as hiccup]))
(defn cannot-overwrite? [vendor]
@@ -17,18 +17,18 @@
(:vendor/legal-entity-tin-type vendor))))
(defn get-1099-companies [user session]
(let [clients (->> (d/q '[:find ?c
(let [clients (->> (dc/q '[:find ?c
:in $ ?user
:where [?c :client/code]
[(auto-ap.graphql.utils/can-see-client? ?user ?c)]]
(d/db conn) user)
(dc/db conn) user)
(map first)
set)
results (cond
(and (some-> session :client :db/id)
(can-see-client? user
(some-> session :client :db/id)))
(d/q '[:find
(dc/q '[:find
(pull ?c [:client/code :db/id])
(pull ?v [:db/id
:vendor/name
@@ -55,11 +55,11 @@
[?p :payment/amount ?a]
[?p :payment/vendor ?v]]
(d/db conn)
(dc/db conn)
(some-> session :client :db/id))
(is-admin? user)
(d/q '[:find
(dc/q '[:find
(pull ?c [:client/code :db/id])
(pull ?v [:db/id
:vendor/name
@@ -85,10 +85,10 @@
[?p :payment/client ?c]
[?p :payment/amount ?a]
[?p :payment/vendor ?v]]
(d/db conn))
(dc/db conn))
:else
(d/q '[:find
(dc/q '[:find
(pull ?c [:client/code :db/id])
(pull ?v [:db/id
:vendor/name
@@ -115,7 +115,7 @@
[?p :payment/amount ?a]
[?p :payment/vendor ?v]]
(d/db conn)
(dc/db conn)
clients))]
(->> results
(filter (fn [[_ _ a]]
@@ -208,18 +208,18 @@
:else k))
(defn vendor-save [{:keys [form-params identity route-params] :as request}]
(when-not (cannot-overwrite? (d/pull (d/db conn) '[*] (Long/parseLong (:vendor-id route-params))))
@(d/transact conn [(remove-nils
(-> (form-data->map form-params)
(assoc :db/id (Long/parseLong (:vendor-id route-params)))
(update :vendor/legal-entity-1099-type #(some->> % (keyword "legal-entity-1099-type")))
(update :vendor/legal-entity-tin-type #(some->> % (keyword "legal-entity-tin-type")))))]))
(when-not (cannot-overwrite? (dc/pull (dc/db conn) '[*] (Long/parseLong (:vendor-id route-params))))
@(dc/transact conn {:tx-data [(remove-nils
(-> (form-data->map form-params)
(assoc :db/id (Long/parseLong (:vendor-id route-params)))
(update :vendor/legal-entity-1099-type #(some->> % (keyword "legal-entity-1099-type")))
(update :vendor/legal-entity-tin-type #(some->> % (keyword "legal-entity-tin-type")))))]}))
(html-response
(table request :flash-id (Long/parseLong (:vendor-id route-params)))))
(defn vendor-dialog [request]
(let [vendor (d/pull (d/db conn) '[* {:vendor/legal-entity-1099-type [:db/ident]
(let [vendor (dc/pull (dc/db conn) '[* {:vendor/legal-entity-1099-type [:db/ident]
:vendor/legal-entity-tin-type [:db/ident]}] (Long/parseLong (:vendor-id (:params request))))] ;; TODO perms
(html-response
[:form {:hx-post (bidi/path-for ssr-routes/only-routes