fix: fs e2e tests and page rename

pull/10793/head
Tienson Qin 2024-01-15 18:50:48 +08:00
parent d2b6f17af3
commit 819c8614d3
4 changed files with 24 additions and 27 deletions

View File

@ -12,7 +12,8 @@
[logseq.common.config :as common-config]
[logseq.db.frontend.content :as db-content]
[medley.core :as medley]
[logseq.db.frontend.schema :as db-schema]))
[logseq.db.frontend.schema :as db-schema]
[frontend.handler.db-based.recent :as db-based]))
(defn properties-block
[repo conn config date-formatter properties format page]
@ -221,8 +222,9 @@
;; if other page alias this pagename,
;; then just remove some attrs of this entity instead of retractEntity
delete-page-tx (cond
(not (:block/_namespace page))
(if (ldb/get-alias-source-page @conn page-name)
(or (and db-based? (not (:block/_namespace page)))
(not db-based?))
(if (and db-based? (ldb/get-alias-source-page @conn page-name))
(when-let [id (:db/id (d/entity @conn [:block/name page-name]))]
(mapv (fn [attribute]
[:db/retract id attribute])

View File

@ -171,12 +171,14 @@
{:keys [old-path new-path tx-data]} (update-file-tx db old-page-name new-name)
txs (concat page-txs
(when-not db-based?
(->> [;; update page refes in block content when ref name changes
(page-rename/replace-page-ref db config old-name new-name)
(->>
(concat
;; update page refes in block content when ref name changes
(page-rename/replace-page-ref db config old-name new-name)
;; update file path
tx-data)
;; update file path
tx-data]
(remove nil?))))]
(remove nil?))))]
(ldb/transact! conn txs {:outliner-op :rename-page
:data (cond->

View File

@ -109,7 +109,9 @@
tx-report)
fix-tx-data (validate-and-fix-db! repo conn tx-report context)
full-tx-data (concat (:tx-data tx-report) fix-tx-data (:tx-data tx-report'))
final-tx-report (assoc tx-report' :tx-data full-tx-data)
final-tx-report (assoc tx-report'
:tx-data full-tx-data
:db-before (:db-before tx-report))
affected-query-keys (when-not (:importing? context)
(worker-react/get-affected-queries-keys final-tx-report))]
{:tx-report final-tx-report

View File

@ -296,8 +296,9 @@
(defn original-page-name->index
[p]
(when p
{:name (util/search-normalize p true)
:original-name p}))
{:id (str (:block/uuid p))
:name (:block/name p)
:original-name (:block/original-name p)}))
(defn- safe-subs
([s start]
@ -317,14 +318,9 @@
(defn get-all-pages
[db]
(->>
(d/q
'[:find [?page-original-name ...]
:where
[?page :block/name ?page-name]
[(get-else $ ?page :block/original-name ?page-name) ?page-original-name]]
db)
(remove hidden-page?)))
(let [page-datoms (d/datoms db :avet :block/name)
pages (map (fn [d] (d/entity db (:e d))) page-datoms)]
(remove (fn [p] (hidden-page? (:block/name p))) pages)))
(defn build-page-indice
"Build a page title indice from scratch.
@ -333,7 +329,6 @@
From now on, page indice is talking about page content search."
[repo db]
(let [pages (->> (get-all-pages db)
(remove string/blank?)
(map original-page-name->index)
(bean/->js))
indice (fuse. pages
@ -391,14 +386,10 @@
(fn [indice]
(when indice
(doseq [page-entity pages-to-remove]
(.remove indice
(fn [page]
(= (:block/name page-entity)
(common-util/safe-page-name-sanity-lc (gobj/get page "original-name"))))))
(.remove indice (fn [page] (= (:block/name page-entity) (gobj/get page "name")))))
(doseq [page pages-to-add]
(.add indice (bean/->js (original-page-name->index
(or (:block/original-name page)
(:block/name page))))))
(.remove indice (fn [p] (= (str (:block/uuid page)) (gobj/get p "id"))))
(.add indice (bean/->js (original-page-name->index page))))
indice)))))
;; update block indice