From e19613f2d82affc90c47d2b70fc8c87f957e211c Mon Sep 17 00:00:00 2001 From: Tienson Qin Date: Fri, 18 Aug 2023 19:45:41 +0800 Subject: [PATCH] Use db/transact! when possible --- src/main/electron/listener.cljs | 23 +++++++++---------- src/main/frontend/handler/page.cljs | 8 +++---- .../frontend/modules/editor/undo_redo.cljs | 3 +-- .../frontend/modules/outliner/datascript.cljs | 4 +--- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/main/electron/listener.cljs b/src/main/electron/listener.cljs index a6b33fa518..7ec47e685c 100644 --- a/src/main/electron/listener.cljs +++ b/src/main/electron/listener.cljs @@ -48,14 +48,14 @@ [] ;; TODO: move "file-watcher" to electron.ipc.channels (safe-api-call "file-watcher" - (fn [data] - (let [{:keys [type payload]} (bean/->clj data) - path (gp-util/path-normalize (:path payload)) - dir (:dir payload) - payload (assoc payload :path (path/relative-path dir path))] - (watcher-handler/handle-changed! type payload) - (when (file-sync-handler/enable-sync?) - (sync/file-watch-handler type payload))))) + (fn [data] + (let [{:keys [type payload]} (bean/->clj data) + path (gp-util/path-normalize (:path payload)) + dir (:dir payload) + payload (assoc payload :path (path/relative-path dir path))] + (watcher-handler/handle-changed! type payload) + (when (file-sync-handler/enable-sync?) + (sync/file-watch-handler type payload))))) (safe-api-call "file-sync-progress" (fn [data] @@ -114,8 +114,8 @@ block-id (if-let [block (db-model/get-block-by-uuid block-id)] (if (pu/shape-block? block) - (route-handler/redirect-to-whiteboard! (get-in block [:block/page :block/name]) {:block-id block-id}) - (route-handler/redirect-to-page! block-id)) + (route-handler/redirect-to-whiteboard! (get-in block [:block/page :block/name]) {:block-id block-id}) + (route-handler/redirect-to-page! block-id)) (notification/show! (str "Open link failed. Block-id `" block-id "` doesn't exist in the graph.") :error false)) file @@ -127,8 +127,7 @@ (fn [data] (let [{:keys [graph tx-data]} (bean/->clj data) tx-data (db/string->db (:data tx-data))] - (when-let [conn (db/get-db graph false)] - (d/transact! conn tx-data {:dbsync? true})) + (db/transact! graph tx-data {:dbsync? true}) (ui-handler/re-render-root!)))) (safe-api-call "persistGraph" diff --git a/src/main/frontend/handler/page.cljs b/src/main/frontend/handler/page.cljs index c094c8ba75..c74c0d9c43 100644 --- a/src/main/frontend/handler/page.cljs +++ b/src/main/frontend/handler/page.cljs @@ -561,7 +561,7 @@ (let [namespace-block (db/pull [:block/name (gp-util/page-name-sanity-lc namespace)]) page-txs [{:db/id (:db/id page) :block/namespace (:db/id namespace-block)}]] - (d/transact! (db/get-db repo false) page-txs)))) + (db/transact! repo page-txs)))) old-namespace? ;; retract namespace @@ -603,7 +603,7 @@ :block/original-name new-name}] page-txs (if properties-block-tx (conj page-txs properties-block-tx) page-txs)] - (d/transact! (db/get-db repo false) page-txs) + (db/transact! repo page-txs) (when (fs-util/create-title-property? new-page-name) (page-property/add-property! new-page-name :title new-name)) @@ -720,7 +720,7 @@ (= (:block/parent block) {:db/id from-id}) (assoc :block/parent {:db/id to-id})))) blocks)] - (d/transact! conn tx-data) + (db/transact! repo tx-data) (outliner-file/sync-to-file {:db/id to-id}) (rename-update-refs! from-page @@ -770,7 +770,7 @@ (assoc :block/parent {:db/id to-id})))) blocks) replace-ref-tx-data (db-replace-ref repo from-page to-page) tx-data (concat blocks-tx-data replace-ref-tx-data)] - (d/transact! conn tx-data) + (db/transact! repo tx-data) (rename-update-namespace! from-page (util/get-page-original-name from-page) (util/get-page-original-name to-page))) diff --git a/src/main/frontend/modules/editor/undo_redo.cljs b/src/main/frontend/modules/editor/undo_redo.cljs index 7fd38f662e..83e2e47dfd 100644 --- a/src/main/frontend/modules/editor/undo_redo.cljs +++ b/src/main/frontend/modules/editor/undo_redo.cljs @@ -126,8 +126,7 @@ (defn- transact! [txs tx-meta] - (let [conn (conn/get-db false)] - (d/transact! conn txs tx-meta))) + (db/transact! (state/get-current-repo) txs tx-meta)) (defn- page-pop-undo [page-id] diff --git a/src/main/frontend/modules/outliner/datascript.cljs b/src/main/frontend/modules/outliner/datascript.cljs index 7b755151f5..a15feedf5a 100644 --- a/src/main/frontend/modules/outliner/datascript.cljs +++ b/src/main/frontend/modules/outliner/datascript.cljs @@ -1,6 +1,5 @@ (ns frontend.modules.outliner.datascript (:require [datascript.core :as d] - [frontend.db.conn :as conn] [frontend.db :as db] [frontend.modules.outliner.pipeline :as pipelines] [frontend.modules.editor.undo-redo :as undo-redo] @@ -176,8 +175,7 @@ (try (let [repo (get opts :repo (state/get-current-repo)) - conn (conn/get-db repo false) - rs (d/transact! conn txs (assoc opts :outliner/transact? true)) + rs (db/transact! repo txs (assoc opts :outliner/transact? true)) tx-id (get-tx-id rs)] ;; TODO: disable this when db is stable (when config/dev? (validate-db! rs))