refactor: step 1 file-sync/sync-manager

pull/6868/head
Tienson Qin 2022-09-29 21:51:18 +08:00
parent 937a22c7ba
commit 308a4aeb47
2 changed files with 18 additions and 8 deletions

View File

@ -2865,6 +2865,9 @@
(go
(when-let [sm ^SyncManager (state/get-file-sync-manager)]
(println "[SyncManager" (:graph-uuid sm) "]" "stopping")
(state/clear-file-sync-state! (:graph-uuid sm))
(<! (-stop! sm))
(swap! state/state assoc :file-sync/sync-state {})
(println "[SyncManager" (:graph-uuid sm) "]" "stopped")
@ -2955,7 +2958,7 @@
(clear-graphs-txid! repo)
(do
(state/set-file-sync-state repo @*sync-state)
(state/set-file-sync-manager sm)
(state/set-file-sync-manager graph-uuid sm)
;; update global state when *sync-state changes
(add-watch *sync-state ::update-global-state

View File

@ -235,9 +235,11 @@
:file-sync/jstour-inst nil
:file-sync/onboarding-state (or (storage/get :file-sync/onboarding-state)
{:welcome false})
:file-sync/remote-graphs {:loading false :graphs nil}
:file-sync/sync-manager nil
;; graph-uuid -> {}
:file-sync/graph-state {}
:file-sync/sync-state nil
:file-sync/sync-uploading-files nil
:file-sync/sync-downloading-files nil
@ -1761,15 +1763,20 @@ Similar to re-frame subscriptions"
(defn get-auth-refresh-token []
(:auth/refresh-token @state))
(defn set-file-sync-manager [v]
(set-state! :file-sync/sync-manager v))
(defn set-file-sync-manager [graph-uuid v]
(when (and graph-uuid v)
(set-state! [:file-sync/graph-state graph-uuid :file-sync/sync-manager] v)))
(defn get-file-sync-manager [graph-uuid]
(get-in @state [:file-sync/graph-state graph-uuid :file-sync/sync-manager]))
(defn clear-file-sync-state! [graph-uuid]
(set-state! [:file-sync/graph-state graph-uuid] nil))
(defn set-file-sync-state [graph v]
(when v (s/assert :frontend.fs.sync/sync-state v))
(set-state! [:file-sync/sync-state graph] v))
(defn get-file-sync-manager []
(:file-sync/sync-manager @state))
(defn get-file-sync-state
([]
(get-file-sync-state (get-current-repo)))