mirror of
https://github.com/logseq/logseq.git
synced 2026-05-29 23:19:38 +00:00
fix: api.q
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
(when-let [repo (state/get-current-repo)]
|
||||
(when-let [conn (db/get-conn repo)]
|
||||
(when-let [result (query-dsl/query repo query-string)]
|
||||
@result))))
|
||||
(clj->js @result)))))
|
||||
|
||||
(defn ^:export datascript_query
|
||||
[query & inputs]
|
||||
|
||||
@@ -45,32 +45,35 @@
|
||||
|
||||
(defn custom-query-result-transform
|
||||
[query-result remove-blocks q]
|
||||
(let [repo (state/get-current-repo)
|
||||
result (db-utils/seq-flatten query-result)
|
||||
block? (:block/uuid (first result))]
|
||||
(let [result (if block?
|
||||
(let [result (if (seq remove-blocks)
|
||||
(let [remove-blocks (set remove-blocks)]
|
||||
(remove (fn [h]
|
||||
(contains? remove-blocks (:block/uuid h)))
|
||||
result))
|
||||
result)]
|
||||
(some->> result
|
||||
(db-utils/with-repo repo)
|
||||
(model/with-block-refs-count repo)
|
||||
(model/sort-blocks)))
|
||||
result)]
|
||||
(if-let [result-transform (:result-transform q)]
|
||||
(if-let [f (sci/eval-string (pr-str result-transform))]
|
||||
(try
|
||||
(sci/call-fn f result)
|
||||
(catch js/Error e
|
||||
(log/error :sci/call-error e)
|
||||
result))
|
||||
result)
|
||||
(if block?
|
||||
(db-utils/group-by-page result)
|
||||
result)))))
|
||||
(try
|
||||
(let [repo (state/get-current-repo)
|
||||
result (db-utils/seq-flatten query-result)
|
||||
block? (:block/uuid (first result))]
|
||||
(let [result (if block?
|
||||
(let [result (if (seq remove-blocks)
|
||||
(let [remove-blocks (set remove-blocks)]
|
||||
(remove (fn [h]
|
||||
(contains? remove-blocks (:block/uuid h)))
|
||||
result))
|
||||
result)]
|
||||
(some->> result
|
||||
(db-utils/with-repo repo)
|
||||
(model/with-block-refs-count repo)
|
||||
(model/sort-blocks)))
|
||||
result)]
|
||||
(if-let [result-transform (:result-transform q)]
|
||||
(if-let [f (sci/eval-string (pr-str result-transform))]
|
||||
(try
|
||||
(sci/call-fn f result)
|
||||
(catch js/Error e
|
||||
(log/error :sci/call-error e)
|
||||
result))
|
||||
result)
|
||||
(if block?
|
||||
(db-utils/group-by-page result)
|
||||
result))))
|
||||
(catch js/Error e
|
||||
(log/error :query/failed e))))
|
||||
|
||||
(defn- resolve-query
|
||||
[query]
|
||||
|
||||
Reference in New Issue
Block a user