From e39dda9aac0464c1bc974a4d2ef11af16d7155be Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Sat, 19 Jan 2019 09:52:11 -0800 Subject: [PATCH] editing clients has started. --- src/clj/auto_ap/graphql/clients.clj | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/clj/auto_ap/graphql/clients.clj diff --git a/src/clj/auto_ap/graphql/clients.clj b/src/clj/auto_ap/graphql/clients.clj new file mode 100644 index 00000000..a45fbcb0 --- /dev/null +++ b/src/clj/auto_ap/graphql/clients.clj @@ -0,0 +1,47 @@ +(ns auto-ap.graphql.clients + (:require [auto-ap.datomic.clients :as d-clients] + [datomic.api :as d] + [auto-ap.datomic :refer [uri remove-nils]] + [auto-ap.graphql.utils :refer [->graphql assert-admin can-see-client?]])) + +#_(def role->datomic-role {":none" :user-role/none + ":admin" :user-role/admin + ":user" :user-role/user}) + +(defn edit-client [context {:keys [edit_client] :as args} value] + (assert-admin (:id context)) + (println (:address edit_client)) + (let [client (d-clients/get-by-id (:id edit_client)) + #_#_new-clients (set (map #(Long/parseLong %) (:clients edit_user))) + #_#_clients-to-remove (->> (:user/clients user) + (map :db/id) + (filter #(not (new-clients %)) ))] + + + @(d/transact (d/connect uri) + + (doto (-> [(remove-nils {:db/id (:db/id client) + :client/name (:name edit_client) + :client/email (:email edit_client) + :client/address (remove-nils + { + :address/street1 (:street1 (:address edit_client)) + :address/street2 (:street2 (:address edit_client)) + :address/city (:city (:address edit_client)) + :address/state (:state (:address edit_client)) + :address/zip (:zip (:address edit_client)) + + }) + })] + #_(into (map (fn [c] [:db/retract (:db/id user) :user/clients c]) clients-to-remove))) + clojure.pprint/pprint)) + + (doto (->graphql + (d-clients/get-by-id (:id edit_client))) + println))) + + +(defn get-client [context args value] + (->graphql + (filter #(can-see-client? (:id context) %) + (d-clients/get-all))))