Pārlūkot izejas kodu

fix: export of class + property aliases

Gabriel Horner 6 mēneši atpakaļ
vecāks
revīzija
872b130eec

+ 1 - 1
deps/db/src/logseq/db/sqlite/build.cljs

@@ -631,7 +631,7 @@
     @uuids))
 
 (defn- build-blocks-tx*
-  [{:keys [pages-and-blocks properties graph-namespace auto-create-ontology?]
+  [{:keys [pages-and-blocks properties auto-create-ontology?]
     :as options}]
   (let [pages-and-blocks' (pre-build-pages-and-blocks pages-and-blocks properties (dissoc options :pages-and-blocks :properties))
         page-uuids (create-page-uuids pages-and-blocks')

+ 8 - 5
deps/db/src/logseq/db/sqlite/export.cljs

@@ -561,11 +561,14 @@
                                 (and (:exclude-built-in-pages? options)
                                      (get-in page-export [:pages-and-blocks 0 :page :build/properties :logseq.property/built-in?])))
                               (concat page-exports ontology-page-exports))
-        alias-uuids  (mapcat (fn [{:keys [pages-and-blocks]}]
-                               (mapcat #(when-let [aliases (get-in % [:page :block/alias])]
-                                          (map second aliases))
-                                       pages-and-blocks))
-                             page-exports')
+        alias-uuids  (concat (mapcat (fn [{:keys [pages-and-blocks]}]
+                                (mapcat #(map second (get-in % [:page :block/alias]))
+                                        pages-and-blocks))
+                              page-exports')
+                             (mapcat #(map second (:block/alias %))
+                                     (vals (:classes graph-ontology)))
+                             (mapcat #(map second (:block/alias %))
+                                     (vals (:properties graph-ontology))))
         uuids-to-keep (set/union (set (mapcat :pvalue-uuids page-exports'))
                                  (set alias-uuids)
                                  (set (map #(get-in % [:pages-and-blocks 0 :page :block/uuid]) ontology-page-exports)))

+ 8 - 3
deps/db/test/logseq/db/sqlite/export_test.cljs

@@ -543,6 +543,7 @@
         closed-value-uuid (random-uuid)
         property-uuid (random-uuid)
         class-uuid (random-uuid)
+        class-alias-uuid (random-uuid)
         class2-uuid (random-uuid)
         journal-uuid (common-uuid/gen-uuid :journal-page-uuid 19650201)
         original-data
@@ -566,9 +567,13 @@
                                :db/cardinality :db.cardinality/many
                                :build/property-classes [:user.class/MyClass]}}
          :classes
-         {:user.class/MyClass {:build/properties {:user.property/url "https://example.com/MyClass"}
-                               :block/uuid class-uuid
-                               :build/keep-uuid? true}
+         {:user.class/MyClass (cond-> {:build/properties {:user.property/url "https://example.com/MyClass"}
+                                       :block/uuid class-uuid
+                                       :build/keep-uuid? true}
+                                (not exclude-namespaces?)
+                                (assoc :block/alias #{[:block/uuid class-alias-uuid]}))
+          :user.class/MyClassAlias {:block/uuid class-alias-uuid
+                                    :build/keep-uuid? true}
           :user.class/MyClass2 {:build/class-parent :user.class/MyClass
                                 :block/uuid class2-uuid
                                 :build/keep-uuid? true