Adds manager type, blocks certain permissions

This commit is contained in:
Bryce Covert
2020-05-29 07:14:40 -07:00
parent e77e02137c
commit d9bf9867e4
19 changed files with 122 additions and 92 deletions

View File

@@ -256,7 +256,9 @@
{:db/ident :forecasted-transaction/identifier
:db/doc "An identifier for this forcasted transaction, e.g., 'RENT'"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]}}]
:db/cardinality :db.cardinality/one}]]}
:auto-ap/add-manager-schema {:txes [[{:db/ident :user-role/manager}]]}}
]
(println "Conforming database...")
(c/ensure-conforms conn norms-map)
(when (not (seq args))

View File

@@ -18,8 +18,7 @@
:in ['$]
:where []}
:args [(d/db (d/connect uri))]}
(add-arg '?e id ['?e])
(doto println))]
(add-arg '?e id ['?e]))]
(->> (d/query query)
(map first)
@@ -47,7 +46,6 @@
(let [new-user-trans @(d/transact (d/connect uri) [(cond-> new-user
true (assoc :db/id "user")
is-first-user? (assoc :user/role :user-role/admin))])]
(println new-user-trans)
(get-by-id (-> new-user-trans :tempids (get "user")))))))
(defn raw-graphql [args]

View File

@@ -824,9 +824,8 @@
(defn get-user [context args value]
(assert-admin (:id context))
(doto (let [users (d-users/get-graphql args)]
(->graphql users))
println))
(let [users (d-users/get-graphql args)]
(->graphql users)))
(defn get-vendor [context args value]
(->graphql

View File

@@ -5,10 +5,6 @@
[auto-ap.graphql.utils :refer [->graphql assert-admin can-see-client?]]
[clojure.string :as str]))
#_(def role->datomic-role {":none" :user-role/none
":admin" :user-role/admin
":user" :user-role/user})
(defn assert-client-code-is-unique [code]
(when (seq (d/query {:query {:find '[?id]
:in ['$ '?code]

View File

@@ -6,6 +6,7 @@
(def role->datomic-role {":none" :user-role/none
":admin" :user-role/admin
":manager" :user-role/manager
":user" :user-role/user})
(defn edit-user [context {:keys [edit_user] :as args} value]

View File

@@ -72,7 +72,7 @@
(= (:user/role id) "admin")
nil
(= (:user/role id) "user")
(#{"manager" "user"} (:user/role id))
(:user/clients id [])))
(defn result->page [results result-count key args]

View File

@@ -11,7 +11,11 @@
(defn upsert-vendor [context {{:keys [id name hidden terms code print_as primary_contact secondary_contact address default_account_id invoice_reminder_schedule terms_overrides account_overrides] :as in} :vendor} value]
(when id
(assert-admin (:id context)))
(let [terms-overrides (mapv
(let [hidden (if (is-admin? (:id context))
hidden
false)
terms-overrides (mapv
(fn [to]
(cond->
#:vendor-terms-override {:client (:client_id to)