refactor: mv common ns out of db ns

Also move common and file fns out of db ns. Cleanup allows
for better separation linting
This commit is contained in:
Gabriel Horner
2025-04-28 10:37:13 -04:00
parent c569112db6
commit 6a635ecb49
33 changed files with 56 additions and 55 deletions

View File

@@ -45,7 +45,7 @@
rum.core/use-layout-effect! {:message "Use frontend.hooks/use-layout-effect! instead" :level :info}
rum.core/use-callback {:message "Use frontend.hooks/use-callback instead" :level :info}}
:unused-namespace {:level :warning
:exclude [logseq.db.frontend.entity-plus]}
:exclude [logseq.db.common.entity-plus]}
;; TODO:lint: Remove node-path excludes once we have a cleaner api
:unresolved-var {:exclude [frontend.util/node-path.basename
@@ -185,7 +185,7 @@
logseq.db.frontend.content db-content
logseq.db.frontend.db db-db
logseq.db.frontend.db-ident db-ident
logseq.db.frontend.entity-plus entity-plus
logseq.db.common.entity-plus entity-plus
logseq.db.frontend.entity-util entity-util
logseq.db.frontend.inputs db-inputs
logseq.db.frontend.property db-property

View File

@@ -25,7 +25,7 @@
logseq.db.file-based.rules file-rules
logseq.db.file-based.schema file-schema
logseq.db.file-based.entity-util file-entity-util
logseq.db.frontend.entity-plus entity-plus
logseq.db.common.entity-plus entity-plus
logseq.db.frontend.rules rules
logseq.db.frontend.schema db-schema
logseq.db.frontend.validate db-validate

View File

@@ -10,14 +10,16 @@
[logseq.common.util :as common-util]
[logseq.common.uuid :as common-uuid]
[logseq.db.common.delete-blocks :as delete-blocks] ;; Load entity extensions
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.common.entity-util :as common-entity-util]
[logseq.db.common.sqlite :as sqlite-common-db]
[logseq.db.file-based.schema :as file-schema]
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.db :as db-db]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.rules :as rules]
[logseq.db.frontend.schema :as db-schema]
[logseq.db.sqlite.util :as sqlite-util])
(:refer-clojure :exclude [object?]))
@@ -578,3 +580,10 @@
:where
[?page :block/tags ?tag]]
db))
(defn get-schema
"Returns schema for given repo"
[repo]
(if (db-based-graph? repo)
db-schema/schema
file-schema/schema))

View File

@@ -6,7 +6,7 @@
[logseq.common.util.block-ref :as block-ref]
[logseq.common.util.page-ref :as page-ref]
[logseq.db.common.entity-util :as common-entity-util]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]))
(defn- replace-ref-with-deleted-block-title

View File

@@ -1,4 +1,4 @@
(ns logseq.db.frontend.entity-plus
(ns logseq.db.common.entity-plus
"Add map ops such as assoc/dissoc to datascript Entity.
NOTE: This doesn't work for nbb/sci yet because of https://github.com/babashka/sci/issues/639"
@@ -58,7 +58,7 @@
;; FIXME: Correct dependency ordering instead of resolve workaround
#?(:org.babashka/nbb false
:cljs (when-let [f (resolve 'frontend.common.missionary/background-task-running?)]
(f :logseq.db.frontend.entity-plus/reset-immutable-entities-cache!)))))
(f :logseq.db.common.entity-plus/reset-immutable-entities-cache!)))))
(defn entity-memoized
[db eid]

View File

@@ -1,7 +1,7 @@
(ns logseq.db.common.property-util
"Property related util fns. Fns used in both DB and file graphs should go here"
(:require [datascript.core :as d]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.property.type :as db-property-type]
[logseq.db.sqlite.util :as sqlite-util]))

View File

@@ -11,7 +11,7 @@
[logseq.common.util.date-time :as date-time-util]
[logseq.db.common.entity-util :as common-entity-util]
[logseq.db.common.order :as db-order]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.sqlite.util :as sqlite-util]))
@@ -349,9 +349,16 @@
(or (d/restore-conn storage)
(d/create-conn schema {:storage storage})))
(defonce file-version-prefix "logseq_local_")
(defn local-file-based-graph?
[s]
(and (string? s)
(string/starts-with? s file-version-prefix)))
(defn sanitize-db-name
[db-name]
(if (string/starts-with? db-name sqlite-util/file-version-prefix)
(if (string/starts-with? db-name file-version-prefix)
(-> db-name
(string/replace ":" "+3A+")
(string/replace "/" "++"))

View File

@@ -9,7 +9,7 @@
[logseq.common.util :as common-util]
[logseq.db :as ldb]
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.property.type :as db-property-type]

View File

@@ -5,7 +5,7 @@
[datascript.core :as d]
[logseq.db.common.order :as db-order]
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.property.type :as db-property-type]

View File

@@ -90,7 +90,7 @@
(let [[_db-sanitized-name db-full-path] (sqlite-common-db/get-db-full-path graphs-dir db-name)
db (new sqlite db-full-path nil)
;; For both desktop and CLI, only file graphs have db-name that indicate their db type
schema (if (sqlite-util/local-file-based-graph? db-name)
schema (if (sqlite-common-db/local-file-based-graph? db-name)
file-schema/schema
db-schema/schema)]
(sqlite-common-db/create-kvs-table! db)

View File

@@ -170,7 +170,7 @@
(build-initial-classes* db-class/built-in-classes db-ident->properties))
(defn build-initial-views
"Builds initial blocks used for storing views. Used by db and file graphs"
"Builds initial blocks used for storing views"
[]
(let [page-id (common-uuid/gen-uuid :builtin-block-uuid common-config/views-page-name)]
[(sqlite-util/block-with-timestamps

View File

@@ -10,7 +10,7 @@
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.db :as db-db]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.property :as db-property]
[logseq.db.sqlite.build :as sqlite-build]

View File

@@ -9,13 +9,10 @@
[logseq.common.util :as common-util]
[logseq.common.uuid :as common-uuid]
[logseq.db.common.order :as db-order]
[logseq.db.file-based.schema :as file-schema]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.property.type :as db-property-type]
[logseq.db.frontend.schema :as db-schema]))
[logseq.db.frontend.property.type :as db-property-type]))
(defonce db-version-prefix "logseq_db_")
(defonce file-version-prefix "logseq_local_")
(def ^:private write-handlers (cljs-bean.transit/writer-handlers))
(def ^:private read-handlers {})
@@ -59,18 +56,6 @@
(when graph-name
(string/starts-with? graph-name db-version-prefix)))
(defn local-file-based-graph?
[s]
(and (string? s)
(string/starts-with? s file-version-prefix)))
(defn get-schema
"Returns schema for given repo"
[repo]
(if (db-based-graph? repo)
db-schema/schema
file-schema/schema))
(def block-with-timestamps common-util/block-with-timestamps)
(defn build-new-property

View File

@@ -2,7 +2,7 @@
"Main ns for providing test fns for DB graphs"
(:require [datascript.core :as d]
[datascript.impl.entity :as de]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.property :as db-property]
[logseq.db.frontend.schema :as db-schema]
[logseq.db.sqlite.build :as sqlite-build]

View File

@@ -10,7 +10,7 @@
[logseq.common.util.date-time :as date-time-util]
[logseq.db :as ldb]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.malli-schema :as db-malli-schema]
[logseq.db.frontend.rules :as rules]
[logseq.db.frontend.validate :as db-validate]

View File

@@ -6,7 +6,7 @@
[logseq.common.util.date-time :as date-time-util]
[logseq.db :as ldb]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.property :as db-property]
[logseq.outliner.datascript-report :as ds-report]))

View File

@@ -8,7 +8,7 @@
[logseq.db :as ldb]
[logseq.db.common.order :as db-order]
[logseq.db.frontend.db-ident :as db-ident]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.malli-schema :as db-malli-schema]
[logseq.db.frontend.property :as db-property]

View File

@@ -1,7 +1,7 @@
(ns logseq.outliner.validate-test
(:require [cljs.test :refer [are deftest is testing]]
[datascript.core :as d]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.test.helper :as db-test]
[logseq.outliner.validate :as outliner-validate]))

View File

@@ -3,7 +3,7 @@
(:require [clojure.set :as set]
[clojure.string :as string]
[datascript.core :as d]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.malli-schema :as db-malli-schema]
[logseq.db.frontend.rules :as rules]))

View File

@@ -98,8 +98,7 @@
(defn- validate-multi-graph-fns-not-in-file-or-db
[]
;; TODO: Lint `(db-based-graph?` when db.frontend.entity-plus is split into separate graph contexts
(let [multi-graph-fns ["/db-based-graph\\?"
(let [multi-graph-fns ["/db-based-graph\\?" "\\(db-based-graph\\?"
;; Use file-entity-util and entity-util when in a single graph context
"ldb/whiteboard\\?" "ldb/journal\\?" "ldb/page\\?"]
res (grep-many multi-graph-fns (into file-graph-paths db-graph-paths))]

View File

@@ -240,7 +240,7 @@
(remove (fn [s] (= s db/unlinked-graphs-dir)))
(map graph-name->path)
(map (fn [s]
(if (string/starts-with? s sqlite-util/file-version-prefix)
(if (string/starts-with? s sqlite-common-db/file-version-prefix)
s
(str sqlite-util/db-version-prefix s)))))))

View File

@@ -2,11 +2,11 @@
"Some background tasks"
(:require [frontend.common.missionary :as c.m]
[frontend.flows :as flows]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[missionary.core :as m]))
(c.m/run-background-task
:logseq.db.frontend.entity-plus/reset-immutable-entities-cache!
:logseq.db.common.entity-plus/reset-immutable-entities-cache!
(m/reduce
(fn [_ repo]
(when (some? repo)

View File

@@ -5,7 +5,7 @@
[datascript.core :as d]
[logseq.db :as ldb]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.sqlite.util :as sqlite-util]
[logseq.graph-parser.property :as gp-property]
[logseq.outliner.tree :as otree]))

View File

@@ -6,7 +6,7 @@
[logseq.common.util :as common-util]
[logseq.db :as ldb]
[logseq.db.common.property-util :as db-property-util]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
[logseq.graph-parser.db :as gp-db]))

View File

@@ -80,7 +80,7 @@
[logseq.common.util.page-ref :as page-ref]
[logseq.db :as ldb]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.graph-parser.block :as gp-block]
[logseq.graph-parser.mldoc :as gp-mldoc]
[logseq.graph-parser.text :as text]

View File

@@ -4,7 +4,7 @@
[frontend.db.conn :as conn]
[frontend.state :as state]
[logseq.db.frontend.content :as db-content]
[logseq.db.frontend.entity-plus :as entity-plus]))
[logseq.db.common.entity-plus :as entity-plus]))
;; transit serialization

View File

@@ -18,7 +18,7 @@
[frontend.ui :as ui]
[frontend.util :as util]
[logseq.db :as ldb]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.shui.ui :as shui]
[missionary.core :as m]
[open-spaced-repetition.cljc-fsrs.core :as fsrs.core]

View File

@@ -55,7 +55,7 @@
[logseq.common.util.page-ref :as page-ref]
[logseq.db :as ldb]
[logseq.db.file-based.schema :as file-schema]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.property :as db-property]
[logseq.graph-parser.block :as gp-block]
[logseq.graph-parser.mldoc :as gp-mldoc]

View File

@@ -21,7 +21,7 @@
[goog.object :as gobj]
[logseq.common.config :as common-config]
[logseq.db :as ldb]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.sqlite.util :as sqlite-util]
[logseq.shui.dialog.core :as shui-dialog]
[logseq.shui.hooks :as hooks]

View File

@@ -1,11 +1,11 @@
(ns frontend.worker.db.fix
"fix db"
(:require [datascript.core :as d]
[logseq.db.sqlite.util :as sqlite-util]))
[logseq.db :as ldb]))
(defn check-and-fix-schema!
[repo conn]
(let [schema (sqlite-util/get-schema repo)
(let [schema (ldb/get-schema repo)
db-schema (:schema @conn)
diffs (->> (keep (fn [[k v]]
(let [schema-v (-> (get db-schema k)

View File

@@ -37,7 +37,7 @@
[logseq.db.common.order :as db-order]
[logseq.db.common.sqlite :as sqlite-common-db]
[logseq.db.common.view :as db-view]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.schema :as db-schema]
[logseq.db.sqlite.create-graph :as sqlite-create-graph]
[logseq.db.sqlite.export :as sqlite-export]
@@ -334,7 +334,7 @@
(db-migrate/migrate-sqlite-db db)
(when-not @*publishing? (db-migrate/migrate-sqlite-db client-ops-db))
(search/create-tables-and-triggers! search-db)
(let [schema (sqlite-util/get-schema repo)
(let [schema (ldb/get-schema repo)
conn (sqlite-common-db/get-storage-conn storage schema)
_ (db-fix/check-and-fix-schema! repo conn)
_ (when datoms

View File

@@ -9,7 +9,7 @@
[logseq.db.common.order :as db-order]
[logseq.db.common.property-util :as db-property-util]
[logseq.db.frontend.class :as db-class]
[logseq.db.frontend.entity-plus :as entity-plus]
[logseq.db.common.entity-plus :as entity-plus]
[logseq.db.frontend.entity-util :as entity-util]
[logseq.db.frontend.malli-schema :as db-malli-schema]
[logseq.db.frontend.property.build :as db-property-build]

View File

@@ -12,6 +12,7 @@
[logseq.common.util :as common-util]
[logseq.common.uuid :as common-uuid]
[logseq.db :as ldb]
[logseq.db.common.sqlite :as sqlite-common-db]
[logseq.db.frontend.validate :as db-validate]
[logseq.db.sqlite.export :as sqlite-export]
[logseq.db.sqlite.util :as sqlite-util]
@@ -232,7 +233,7 @@
:db-after (:db-after result)))
tx-report)
{:keys [pages blocks]} (ds-report/get-blocks-and-pages tx-report*)
_ (when (sqlite-util/local-file-based-graph? repo)
_ (when (sqlite-common-db/local-file-based-graph? repo)
(let [page-ids (distinct (map :db/id pages))]
(doseq [page-id page-ids]
(when (d/entity @conn page-id)