🚧 Major refactor of backend code.

Relevant changes:

- ring -> vertx
- suricatta -> vertx-pgsql
- emails improvements
- logging
- hybrid sync/async -> full async execution model
- database layout refactor
This commit is contained in:
Andrey Antukh 2019-11-18 11:52:57 +01:00
parent 73753ce071
commit e9b00339a5
134 changed files with 5394 additions and 6598 deletions

View file

@ -83,7 +83,7 @@
[id]
(letfn [(selector [icons]
(->> (vals icons)
(filter #(= id (:collection %)))
(filter #(= id (:collection-id %)))
(count)))]
(-> (comp (l/key :icons)
(l/lens selector))
@ -325,7 +325,7 @@
(-> (comp (l/key :icons)
(l/lens (fn [icons]
(->> (vals icons)
(filter #(= id (:collection %)))))))
(filter #(= id (:collection-id %)))))))
(l/derive st/state)))
(mf/defc grid

View file

@ -84,7 +84,7 @@
[id]
(letfn [(selector [images]
(->> (vals images)
(filter #(= id (:collection %)))
(filter #(= id (:collection-id %)))
(count)))]
(-> (comp (l/key :images)
(l/lens selector))
@ -310,7 +310,7 @@
(-> (comp (l/key :images)
(l/lens (fn [images]
(->> (vals images)
(filter #(= id (:collection %)))))))
(filter #(= id (:collection-id %)))))))
(l/derive st/state)))
(mf/defc grid

View file

@ -63,8 +63,9 @@
[canvas page]
(st/emit! (udp/watch-page-changes (:id page))
(udu/watch-page-changes (:id page))
(udh/initialize (:id page))
(udh/watch-page-changes (:id page))
;; TODO: temporary commented
;; (udh/initialize (:id page))
;; (udh/watch-page-changes (:id page))
(dw/start-shapes-watcher (:id page)))
(let [sub (shortcuts/init)]
#(do (st/emit! ::udp/stop-page-watcher

View file

@ -24,7 +24,7 @@
[:aside.settings-bar.settings-bar-left
[:div.settings-bar-inside
(when (contains? flags :sitemap)
[:& sitemap-toolbox {:project-id (:project page)
[:& sitemap-toolbox {:project-id (:project-id page)
:current-page-id (:id page)
:page page}])
(when (contains? flags :document-history)

View file

@ -37,14 +37,14 @@
(dom/stop-propagation event)
(modal/show! confirm-dialog {:on-accept delete}))
(on-drop [item monitor]
(st/emit! (udp/rehash-pages (:project page))))
(st/emit! (udp/rehash-pages (:project-id page))))
(on-hover [item monitor]
(st/emit! (udp/move-page {:project-id (:project-id item)
:page-id (:page-id item)
:index index})))]
(let [[dprops ref] (use-sortable {:type "page-item"
:data {:page-id (:id page)
:project-id (:project page)
:project-id (:project-id page)
:index index}
:on-hover on-hover
:on-drop on-drop})]
@ -52,7 +52,7 @@
[:div.element-list-body
{:class (classnames :selected selected?
:dragging (:dragging? dprops))
:on-click #(st/emit! (rt/nav :workspace/page {:project (:project page)
:on-click #(st/emit! (rt/nav :workspace/page {:project (:project-id page)
:page (:id page)}))
:on-double-click #(dom/stop-propagation %)
:draggable true}
@ -92,6 +92,7 @@
(mf/defc sitemap-toolbox
[{:keys [project-id current-page-id] :as props}]
(prn "sitemap-toolbox" props)
(let [project-iref (mf/use-memo {:deps #js [project-id]
:fn #(-> (l/in [:projects project-id])
(l/derive st/state))})