Browse Source

fix: skip add created-by when no user-block

rcmerci 9 months ago
parent
commit
411292cd73
2 changed files with 15 additions and 29 deletions
  1. 0 13
      src/main/frontend/handler/user.cljs
  2. 15 16
      src/main/frontend/worker/pipeline.cljs

+ 0 - 13
src/main/frontend/handler/user.cljs

@@ -85,19 +85,6 @@
    parse-jwt
    :sub))
 
-(defn user-block
-  "FIXME: move to somewhere else?"
-  []
-  (when-let [user-uuid* (user-uuid)]
-    (let [user-name (username)
-          email* (email)]
-      {:block/uuid (uuid user-uuid*)
-       :block/name user-name
-       :block/title user-name
-       :block/tags :logseq.class/Page
-       :logseq.property.user/name user-name
-       :logseq.property.user/email email*})))
-
 (defn logged-in? []
   (some? (state/get-auth-refresh-token)))
 

+ 15 - 16
src/main/frontend/worker/pipeline.cljs

@@ -175,22 +175,21 @@
   [db-after tx-data tx-meta]
   (when (and (not (or (:undo? tx-meta) (:redo? tx-meta) (:rtc-tx? tx-meta)))
              (seq tx-data))
-    (let [created-by-block (gen-created-by-block)
-          created-by-ent (d/entity db-after [:block/uuid (:block/uuid created-by-block)])
-          created-by-id (or (:db/id created-by-ent) "created-by-id")
-          created-by-block' (when-not created-by-ent (assoc created-by-block :db/id "created-by-id"))
-          add-created-by-tx-data
-          (keep
-           (fn [datom]
-             (when (and (keyword-identical? :block/uuid (:a datom))
-                        (:added datom))
-               (let [e (:e datom)
-                     ent (d/entity db-after e)]
-                 (when-not (:logseq.property/created-by-ref ent)
-                   [:db/add e :logseq.property/created-by-ref created-by-id]))))
-           tx-data)]
-      (cond->> add-created-by-tx-data
-        created-by-block' (cons created-by-block')))))
+    (when-let [created-by-block (some-> (gen-created-by-block) (assoc :db/id "created-by-id"))]
+      (let [created-by-ent (d/entity db-after [:block/uuid (:block/uuid created-by-block)])
+            created-by-id (or (:db/id created-by-ent) "created-by-id")
+            add-created-by-tx-data
+            (keep
+             (fn [datom]
+               (when (and (keyword-identical? :block/uuid (:a datom))
+                          (:added datom))
+                 (let [e (:e datom)
+                       ent (d/entity db-after e)]
+                   (when-not (:logseq.property/created-by-ref ent)
+                     [:db/add e :logseq.property/created-by-ref created-by-id]))))
+             tx-data)]
+        (cond->> add-created-by-tx-data
+          (not (:db/id created-by-ent)) (cons created-by-block))))))
 
 (defn- invoke-hooks-default
   [repo conn {:keys [tx-meta] :as tx-report} context]