1
0
Эх сурвалжийг харах

fix: add timestamps to built-in property pair

Also cleanup build-initial-properties and remove unused ns
Gabriel Horner 1 жил өмнө
parent
commit
97367c3d4f

+ 1 - 1
.clj-kondo/config.edn

@@ -7,7 +7,7 @@
   ;; false positive with match/match and _
   frontend.handler.paste {:linters {:used-underscored-binding {:level :off}}}
   frontend.db {:linters {:aliased-namespace-symbol
-                         {:exclude [frontend.db.conn frontend.db.react logseq.db.frontend.default]}}}}
+                         {:exclude [frontend.db.conn frontend.db.react]}}}}
 
  :linters
  {:path-invalid-construct/string-join {:level :info}

+ 0 - 9
deps/db/src/logseq/db/frontend/default.cljs

@@ -1,9 +0,0 @@
-(ns logseq.db.frontend.default
-  "Provides vars and fns for dealing with default/built-in? data")
-
-;; TODO: Use build-property-pair fn when circular ns dependencies are resolved
-(defn mark-block-as-built-in
-  "Marks built-in blocks as built-in? including pages, classes, properties and closed values"
-  [block]
-  (assoc block :block/properties {:property/pair-property {:db/ident :logseq.property/built-in?}
-                                  :logseq.property/built-in? true}))

+ 1 - 2
deps/db/src/logseq/db/frontend/property/util.cljs

@@ -1,7 +1,6 @@
 (ns logseq.db.frontend.property.util
   "Util fns for building core property concepts"
   (:require [logseq.db.sqlite.util :as sqlite-util]
-            [logseq.db.frontend.default :as default-db]
             [logseq.db.frontend.property.type :as db-property-type]))
 
 (defonce hidden-page-name-prefix "$$$")
@@ -30,7 +29,7 @@
 
     ;; For now, only closed values with :db/ident are built-in?
     (and db-ident (keyword? db-ident))
-    default-db/mark-block-as-built-in
+    sqlite-util/mark-block-as-built-in
 
     description
     (update :block/schema assoc :description description)

+ 18 - 25
deps/db/src/logseq/db/sqlite/create_graph.cljs

@@ -6,32 +6,25 @@
             [logseq.db.frontend.class :as db-class]
             [logseq.db.frontend.property.util :as db-property-util]
             [logseq.common.util :as common-util]
-            [datascript.core :as d]
-            [logseq.db.frontend.default :as default-db]))
+            [datascript.core :as d]))
 
 (defn- build-initial-properties
   []
-  (let [built-in-properties (->>
-                             (map (fn [[k v]]
-                                    (assert (keyword? k))
-                                    [k v])
-                                  db-property/built-in-properties)
-                             (into {}))]
-    (mapcat
-     (fn [[db-ident {:keys [schema original-name closed-values] :as m}]]
-       (let [prop-name (or original-name (name (:name m)))
-             blocks (if closed-values
-                      (db-property-util/build-closed-values
-                       db-ident
-                       prop-name
-                       {:db/ident db-ident :block/schema schema :closed-values closed-values}
-                       {})
-                      [(sqlite-util/build-new-property
-                        db-ident
-                        schema
-                        {:original-name prop-name})])]
-         (update blocks 0 default-db/mark-block-as-built-in)))
-     built-in-properties)))
+  (mapcat
+   (fn [[db-ident {:keys [schema original-name closed-values] :as m}]]
+     (let [prop-name (or original-name (name (:name m)))
+           blocks (if closed-values
+                    (db-property-util/build-closed-values
+                     db-ident
+                     prop-name
+                     {:db/ident db-ident :block/schema schema :closed-values closed-values}
+                     {})
+                    [(sqlite-util/build-new-property
+                      db-ident
+                      schema
+                      {:original-name prop-name})])]
+       (update blocks 0 sqlite-util/mark-block-as-built-in)))
+   db-property/built-in-properties))
 
 
 (defn kv
@@ -65,7 +58,7 @@
                         :file/content ""
                         :file/last-modified-at (js/Date.)}]
         default-pages (->> (map sqlite-util/build-new-page built-in-pages-names)
-                           (map default-db/mark-block-as-built-in))
+                           (map sqlite-util/mark-block-as-built-in))
         default-properties (build-initial-properties)
         db-ident->properties (zipmap
                               (map :db/ident default-properties)
@@ -73,7 +66,7 @@
         default-classes (map
                          (fn [[db-ident {:keys [schema original-name]}]]
                            (let [original-name' (or original-name (name db-ident))]
-                             (default-db/mark-block-as-built-in
+                             (sqlite-util/mark-block-as-built-in
                               (sqlite-util/build-new-class
                                (let [properties (mapv
                                                  (fn [db-ident]

+ 7 - 2
deps/db/src/logseq/db/sqlite/util.cljs

@@ -123,5 +123,10 @@
 (defn build-property-pair
   [db-ident value]
   (block-with-timestamps
-   {:property/pair-property db-ident
-    db-ident value}))
+   {:property/pair-property {:db/ident db-ident}
+    db-ident value}))
+
+(defn mark-block-as-built-in
+  "Marks built-in blocks as built-in? including pages, classes, properties and closed values"
+  [block]
+  (assoc block :block/properties (build-property-pair :logseq.property/built-in? true)))