Getting closer to datomic cloud
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user