debug.cljs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. (ns frontend.db.debug
  2. (:require [frontend.db.utils :as db-utils]
  3. [frontend.db :as db]
  4. [datascript.core :as d]
  5. [frontend.util :as util]))
  6. ;; shortcut for query a block with string ref
  7. (defn qb
  8. [string-id]
  9. (db-utils/pull [:block/uuid (uuid string-id)]))
  10. (defn check-left-id-conflicts
  11. []
  12. (let [db (db/get-db)
  13. blocks (->> (d/datoms db :avet :block/uuid)
  14. (map :v)
  15. (map (fn [id]
  16. (let [e (db-utils/entity [:block/uuid id])]
  17. (if (:block/name e)
  18. nil
  19. {:block/left (:db/id (:block/left e))
  20. :block/parent (:db/id (:block/parent e))}))))
  21. (remove nil?))
  22. count-1 (count blocks)
  23. count-2 (count (distinct blocks))]
  24. (assert (= count-1 count-2) (util/format "Blocks count: %d, repeated blocks count: %d"
  25. count-1
  26. (- count-1 count-2)))))
  27. (defn block-uuid-nil?
  28. [block]
  29. (->>
  30. (concat
  31. [(:block/parent block)
  32. (:block/left block)
  33. (:block/page block)
  34. (:block/namespace block)]
  35. (:block/tags block)
  36. (:block/alias block)
  37. (:block/refs block)
  38. (:block/path-refs block))
  39. (remove nil?)
  40. (some (fn [x]
  41. (and
  42. (vector? x)
  43. (= :block/uuid (first x))
  44. (nil? (second x)))))))