fix: only manager can delete remote graph

Fixes LOG-3118
This commit is contained in:
Tienson Qin
2024-03-22 12:29:03 +08:00
parent 429b257ee9
commit 18079d7e84
2 changed files with 70 additions and 51 deletions

View File

@@ -13,7 +13,9 @@
[frontend.state :as state]
[goog.crypt :as crypt]
[goog.crypt.Hmac]
[goog.crypt.Sha256]))
[goog.crypt.Sha256]
[logseq.db :as ldb]
[frontend.db :as db]))
(defn set-preferred-format!
[format]
@@ -276,6 +278,20 @@
[]
(or (alpha-user?) (beta-user?)))
(defn get-user-type
[repo]
(when-let [uuid (ldb/get-graph-rtc-uuid (db/get-db repo))]
(-> (some #(when (= uuid (:GraphUUID %)) %) (:rtc/graphs @state/state))
:graph<->user-user-type)))
(defn manager?
[repo]
(= (get-user-type repo) "manager"))
(defn member?
[repo]
(= (get-user-type repo) "member"))
(comment
;; We probably need this for some new features later
(defonce feature-matrix {:file-sync :beta})