Преглед на файлове

enhance(apis): support custom uuid to create page

charlie преди 4 дни
родител
ревизия
28bc28ecd3
променени са 2 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 1 0
      libs/src/LSPlugin.ts
  2. 5 3
      src/main/logseq/api/editor.cljs

+ 1 - 0
libs/src/LSPlugin.ts

@@ -762,6 +762,7 @@ export interface IEditorProxy extends Record<string, any> {
     opts?: Partial<{
       redirect: boolean
       createFirstBlock: boolean
+      customUUID: string
       format: BlockEntity['format']
       journal: boolean
     }>

+ 5 - 3
src/main/logseq/api/editor.cljs

@@ -123,7 +123,7 @@
    this
    (let [properties (bean/->clj properties)
          db-based? (config/db-based-graph?)
-         {:keys [redirect format journal schema class]} (bean/->clj opts)]
+         {:keys [redirect format journal schema class customUUID]} (bean/->clj opts)]
      (p/let [page (<get-block name {:children? false})
              new-page (when-not page
                         (page-handler/<create!
@@ -133,8 +133,10 @@
                            :journal? journal
                            :class? class
                            :format format}
-                           (not db-based?)
-                           (assoc :properties properties))))
+                          (string? customUUID)
+                          (assoc :uuid (uuid customUUID))
+                          (not db-based?)
+                          (assoc :properties properties))))
              _ (when (and db-based? (seq properties))
                  (api-block/db-based-save-block-properties! new-page properties {:plugin this
                                                                                  :schema schema}))]