fix: schema validate

This commit is contained in:
Tienson Qin
2024-12-03 14:56:08 +08:00
parent 4e9d071fa0
commit c7e26a671e
4 changed files with 27 additions and 30 deletions

View File

@@ -23,7 +23,8 @@
(defn class?
[entity]
(has-tag? entity :logseq.class/Tag))
(or (= (:db/ident entity) :logseq.class/Tag)
(has-tag? entity :logseq.class/Tag)))
(defn property?
[entity]

View File

@@ -434,27 +434,29 @@
(into
[:multi {:dispatch (fn [d]
;; order matters as some block types are a subset of others e.g. :whiteboard
(cond
(entity-util/property? d)
:property
(entity-util/class? d)
:class
(entity-util/hidden? d)
:hidden
(entity-util/whiteboard? d)
:normal-page
(entity-util/page? d)
:normal-page
(entity-util/asset? d)
:asset-block
(:file/path d)
:file-block
(:block/uuid d)
:block
(= (:db/ident d) :logseq.property/empty-placeholder)
:property-value-placeholder
(:db/ident d)
:db-ident-key-value))}]
(let [db *db-for-validate-fns*
d (if (:block/uuid d) (d/entity db [:block/uuid (:block/uuid d)]) d)]
(cond
(entity-util/property? d)
:property
(entity-util/class? d)
:class
(entity-util/hidden? d)
:hidden
(entity-util/whiteboard? d)
:normal-page
(entity-util/page? d)
:normal-page
(entity-util/asset? d)
:asset-block
(:file/path d)
:file-block
(:block/uuid d)
:block
(= (:db/ident d) :logseq.property/empty-placeholder)
:property-value-placeholder
(:db/ident d)
:db-ident-key-value)))}]
{:property property-page
:class class-page
:hidden hidden-page

View File

@@ -112,8 +112,7 @@
:block/namespace :block/properties-text-values :block/pre-block? :recent/pages :block/file
:block/properties :block/properties-order :block/repeated? :block/deadline :block/scheduled :block/priority
:block/marker :block/macros
;; :block/type
)
:block/type)
{:block/name {:db/index true} ; remove db/unique for :block/name
;; closed value
:block/closed-value-property {:db/valueType :db.type/ref

View File

@@ -41,13 +41,8 @@
(let [explainer (get-schema-explainer (:closed-schema? validate-options))]
(js/console.error "Invalid datascript entities detected amongst changed entity ids:" changed-ids)
(doseq [m invalid-ent-maps]
(prn {:entity-map m
:errors (me/humanize (explainer [m]))})
;; FIXME: pprint fails sometime
;; (pprint/pprint {;; :entity-map (map #(into {} %) m)
;; :errors (me/humanize (m/explain db-schema [m]))})
)
:errors (me/humanize (explainer [m]))}))
false)
true)))))