mirror of
https://github.com/logseq/logseq.git
synced 2026-02-01 22:47:36 +00:00
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:
@@ -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
|
||||
|
||||
2
deps/db/.clj-kondo/config.edn
vendored
2
deps/db/.clj-kondo/config.edn
vendored
@@ -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
|
||||
|
||||
11
deps/db/src/logseq/db.cljs
vendored
11
deps/db/src/logseq/db.cljs
vendored
@@ -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))
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
@@ -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]))
|
||||
|
||||
11
deps/db/src/logseq/db/common/sqlite.cljs
vendored
11
deps/db/src/logseq/db/common/sqlite.cljs
vendored
@@ -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 "/" "++"))
|
||||
|
||||
2
deps/db/src/logseq/db/common/view.cljs
vendored
2
deps/db/src/logseq/db/common/view.cljs
vendored
@@ -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]
|
||||
|
||||
@@ -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]
|
||||
|
||||
2
deps/db/src/logseq/db/sqlite/cli.cljs
vendored
2
deps/db/src/logseq/db/sqlite/cli.cljs
vendored
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
2
deps/db/src/logseq/db/sqlite/export.cljs
vendored
2
deps/db/src/logseq/db/sqlite/export.cljs
vendored
@@ -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]
|
||||
|
||||
17
deps/db/src/logseq/db/sqlite/util.cljs
vendored
17
deps/db/src/logseq/db/sqlite/util.cljs
vendored
@@ -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
|
||||
|
||||
2
deps/db/src/logseq/db/test/helper.cljs
vendored
2
deps/db/src/logseq/db/test/helper.cljs
vendored
@@ -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]
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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]))
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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]))
|
||||
|
||||
|
||||
@@ -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]))
|
||||
|
||||
|
||||
@@ -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))]
|
||||
|
||||
@@ -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)))))))
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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]))
|
||||
|
||||
@@ -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]))
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user