Should make reloading AND aot work again
This commit is contained in:
@@ -18,38 +18,38 @@
|
||||
|
||||
(defn kebab [x]
|
||||
(if (qualified-keyword? x)
|
||||
(keyword (snake->kebab (namespace x)) (snake->kebab (name x)) )
|
||||
(keyword (snake->kebab (namespace x)) (snake->kebab (name x)))
|
||||
(keyword (snake->kebab (name x)))))
|
||||
|
||||
(defn kebab->snake [s]
|
||||
(str/replace (str/replace s #"-" "_") #"\?$" "" ))
|
||||
(str/replace (str/replace s #"-" "_") #"\?$" ""))
|
||||
|
||||
(defn snake [x]
|
||||
(keyword (kebab->snake (name x))))
|
||||
|
||||
(defn ->graphql [m]
|
||||
(walk/postwalk
|
||||
(fn [node]
|
||||
(cond
|
||||
(fn [node]
|
||||
(cond
|
||||
|
||||
(keyword? node)
|
||||
(snake node)
|
||||
(keyword? node)
|
||||
(snake node)
|
||||
|
||||
:else
|
||||
node))
|
||||
m))
|
||||
:else
|
||||
node))
|
||||
m))
|
||||
|
||||
(defn <-graphql [m]
|
||||
(walk/postwalk
|
||||
(fn [node]
|
||||
(cond
|
||||
(fn [node]
|
||||
(cond
|
||||
|
||||
(keyword? node)
|
||||
(kebab node)
|
||||
(keyword? node)
|
||||
(kebab node)
|
||||
|
||||
:else
|
||||
node))
|
||||
m))
|
||||
:else
|
||||
node))
|
||||
m))
|
||||
|
||||
(defn is-admin? [id]
|
||||
(= "admin" (:user/role id)))
|
||||
@@ -141,7 +141,7 @@
|
||||
not-empty
|
||||
(str "*"))
|
||||
query (as-> exacts e
|
||||
(filter #(not (str/blank? %)) e)
|
||||
(filter #(not (str/blank? %)) e)
|
||||
(mapv #(str "+" %) e)
|
||||
(conj e partial)
|
||||
(str/join " " e))]
|
||||
@@ -150,44 +150,43 @@
|
||||
(defn trace-query [key f]
|
||||
(fn trace [a b c]
|
||||
(mu/with-context (merge
|
||||
(:log-context a {})
|
||||
{:query key
|
||||
:mutation (boolean (= "mutation"
|
||||
(namespace key)))
|
||||
:user (:id a)})
|
||||
(:log-context a {})
|
||||
{:query key
|
||||
:mutation (boolean (= "mutation"
|
||||
(namespace key)))
|
||||
:user (:id a)})
|
||||
(mu/trace (keyword "graphql" (name key))
|
||||
[]
|
||||
(f a b c)))))
|
||||
[]
|
||||
(f a b c)))))
|
||||
|
||||
(defn attach-tracing-resolvers [schema m]
|
||||
(attach-resolvers schema
|
||||
(reduce
|
||||
(fn [resolvers [resolver-key resolver-fn]]
|
||||
(assoc resolvers
|
||||
resolver-key (trace-query resolver-key resolver-fn))
|
||||
)
|
||||
{}
|
||||
m)))
|
||||
(fn [resolvers [resolver-key resolver-fn]]
|
||||
(assoc resolvers
|
||||
resolver-key (trace-query resolver-key resolver-fn)))
|
||||
{}
|
||||
m)))
|
||||
|
||||
(defn extract-client-ids [user-clients & possible-clients]
|
||||
(let [coerce-client-ids (fn coerce-client-ids [x]
|
||||
(cond (and (map? x)
|
||||
(:db/id x))
|
||||
[(:db/id x)]
|
||||
(cond (and (map? x)
|
||||
(:db/id x))
|
||||
[(:db/id x)]
|
||||
|
||||
(nat-int? x)
|
||||
[x]
|
||||
(nat-int? x)
|
||||
[x]
|
||||
|
||||
(and (vector? x)
|
||||
(= :client/code (first x)))
|
||||
[(entid (dc/db conn) x)]
|
||||
(and (vector? x)
|
||||
(= :client/code (first x)))
|
||||
[(entid (dc/db conn) x)]
|
||||
|
||||
|
||||
(sequential? x)
|
||||
(mapcat coerce-client-ids x)
|
||||
(sequential? x)
|
||||
(mapcat coerce-client-ids x)
|
||||
|
||||
:else
|
||||
[]))
|
||||
:else
|
||||
[]))
|
||||
user-client-ids (set (mapcat coerce-client-ids user-clients))
|
||||
extra-client-ids (set (mapcat coerce-client-ids possible-clients))]
|
||||
(if (seq extra-client-ids)
|
||||
|
||||
Reference in New Issue
Block a user