|
46 | 46 | refs))) |
47 | 47 |
|
48 | 48 | (defn update-refs-history |
49 | | - "When a block is deleted, a block's refs are updated and related property history, views and reactions |
| 49 | + "When an entity is deleted, related property history, views and reactions |
50 | 50 | are deleted" |
51 | 51 | [db txs _opts] |
52 | | - (let [retracted-block-ids (->> (keep (fn [tx] |
53 | | - (when (and (vector? tx) |
54 | | - (contains? #{:db.fn/retractEntity :db/retractEntity} (first tx))) |
55 | | - (second tx))) txs) |
56 | | - (filter (fn [id] |
57 | | - (not (entity-util/page? (d/entity db id))))))] |
58 | | - (when (seq retracted-block-ids) |
59 | | - (let [retracted-blocks (map #(d/entity db %) retracted-block-ids) |
60 | | - reaction-entities (->> retracted-blocks |
| 52 | + (let [retracted-ids (keep (fn [tx] |
| 53 | + (when (and (vector? tx) |
| 54 | + (contains? #{:db.fn/retractEntity :db/retractEntity} (first tx))) |
| 55 | + (second tx))) txs) |
| 56 | + retracted-entities (map #(d/entity db %) retracted-ids)] |
| 57 | + (when (seq retracted-ids) |
| 58 | + (let [retracted-blocks (remove entity-util/page? retracted-entities) |
| 59 | + reaction-entities (->> retracted-entities |
61 | 60 | (mapcat :logseq.property.reaction/_target) |
62 | 61 | (common-util/distinct-by :db/id)) |
63 | 62 | retract-reactions-tx (map (fn [reaction] [:db/retractEntity (:db/id reaction)]) |
64 | 63 | reaction-entities) |
65 | 64 | retracted-tx (build-retracted-tx retracted-blocks) |
66 | | - history-entities (->> retracted-blocks |
| 65 | + history-entities (->> retracted-entities |
67 | 66 | (mapcat (fn [e] |
68 | 67 | (concat (:logseq.property.history/_block e) |
69 | 68 | (:logseq.property.history/_ref-value e)))) |
|
75 | 74 | (fn [item] |
76 | 75 | (let [block (d/entity db (:db/id item))] |
77 | 76 | (:logseq.property/_view-for block))) |
78 | | - retracted-blocks) |
| 77 | + retracted-entities) |
79 | 78 | (map (fn [b] [:db/retractEntity (:db/id b)])))] |
80 | 79 | (concat retracted-tx delete-views retract-history-tx retract-reactions-tx))))) |
0 commit comments