fix(rtc): block/schema from remote

pull/10438/head
rcmerci 2023-10-09 01:13:07 +08:00
parent 683e90abf6
commit 4c64fd5a4b
2 changed files with 22 additions and 6 deletions

View File

@ -5,14 +5,24 @@
[malli.transform :as mt])) [malli.transform :as mt]))
(def block-schema-schema
[:map {:closed false}
[:type :keyword]
[:cardinality {:optional true} [:enum :one :many]]
[:hide? {:optional true} :boolean]])
(def block-schema-decoder (m/decoder block-schema-schema mt/string-transformer))
(def general-attrs-schema-coll (def general-attrs-schema-coll
[[:updated-at {:optional true} :int] [[:updated-at {:optional true} :int]
[:created-at {:optional true} :int] [:created-at {:optional true} :int]
[:alias {:optional true} [:maybe [:sequential :uuid]]] [:alias {:optional true} [:maybe [:sequential :uuid]]]
[:type {:optional true} [:maybe [:sequential :string]]] [:type {:optional true} [:maybe [:sequential :string]]]
[:schema {:optional true} [:maybe [:map {:closed false}]]] [:schema {:optional true} [:maybe block-schema-schema]]
[:tags {:optional true} [:maybe [:sequential :uuid]]] [:tags {:optional true} [:maybe [:sequential :uuid]]]
[:properties {:optional true} [:maybe [:map-of :uuid :any]]]]) [:properties {:optional true} [:maybe :string ; transit-json-string
]]])
(def general-attr-set (def general-attr-set
(into #{} (map first) general-attrs-schema-coll)) (into #{} (map first) general-attrs-schema-coll))

View File

@ -12,7 +12,9 @@
[logseq.db.schema :as db-schema] [logseq.db.schema :as db-schema]
[frontend.persist-db :as persist-db] [frontend.persist-db :as persist-db]
[frontend.db.rtc.op :as op] [frontend.db.rtc.op :as op]
[logseq.outliner.pipeline :as outliner-pipeline])) [logseq.outliner.pipeline :as outliner-pipeline]
[cljs.reader :as edn]
[frontend.db.rtc.const :as rtc-const]))
(defn- export-as-blocks (defn- export-as-blocks
@ -68,14 +70,18 @@
block-left (:db/id (:block/left block)) block-left (:db/id (:block/left block))
block-alias (map :db/id (:block/alias block)) block-alias (map :db/id (:block/alias block))
block-tags (map :db/id (:block/tags block)) block-tags (map :db/id (:block/tags block))
block-type (keep (comp block-type-ident->str :db/ident) (:block/type block))] block-type (keep (comp block-type-ident->str :db/ident) (:block/type block))
;; TODO: :block/tags :block/type block-schema (some->> (:block/schema block)
edn/read-string
rtc-const/block-schema-decoder)]
;; TODO: block/properties
(cond-> (assoc block :db/id (str db-id)) (cond-> (assoc block :db/id (str db-id))
block-parent (assoc :block/parent (str block-parent)) block-parent (assoc :block/parent (str block-parent))
block-left (assoc :block/left (str block-left)) block-left (assoc :block/left (str block-left))
(seq block-alias) (assoc :block/alias (map str block-alias)) (seq block-alias) (assoc :block/alias (map str block-alias))
(seq block-tags) (assoc :block/tags (map str block-tags)) (seq block-tags) (assoc :block/tags (map str block-tags))
(seq block-type) (assoc :block/type block-type)))) (seq block-type) (assoc :block/type block-type)
block-schema (assoc :block/schema block-schema))))
blocks)) blocks))
(def page-of-block (def page-of-block