mirror of
https://github.com/penpot/penpot.git
synced 2025-06-14 22:51:39 +02:00
🐛 Move team srepl helpers back to main from helpers (#5955)
This commit is contained in:
parent
3907a1783a
commit
b4f6177be7
3 changed files with 38 additions and 42 deletions
|
@ -24,7 +24,7 @@
|
||||||
[app.rpc.commands.profile :as profile]
|
[app.rpc.commands.profile :as profile]
|
||||||
[app.rpc.commands.teams :as teams]
|
[app.rpc.commands.teams :as teams]
|
||||||
[app.setup :as-alias setup]
|
[app.setup :as-alias setup]
|
||||||
[app.srepl.helpers :as srepl]
|
[app.srepl.main :as srepl]
|
||||||
[app.storage :as-alias sto]
|
[app.storage :as-alias sto]
|
||||||
[app.storage.tmp :as tmp]
|
[app.storage.tmp :as tmp]
|
||||||
[app.util.blob :as blob]
|
[app.util.blob :as blob]
|
||||||
|
|
|
@ -10,15 +10,12 @@
|
||||||
(:require
|
(:require
|
||||||
[app.binfile.common :as bfc]
|
[app.binfile.common :as bfc]
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
[app.common.exceptions :as ex]
|
|
||||||
[app.common.features :as cfeat]
|
|
||||||
[app.common.files.validate :as cfv]
|
[app.common.files.validate :as cfv]
|
||||||
[app.db :as db]
|
[app.db :as db]
|
||||||
[app.features.components-v2 :as feat.comp-v2]
|
[app.features.components-v2 :as feat.comp-v2]
|
||||||
[app.main :as main]
|
[app.main :as main]
|
||||||
[app.rpc.commands.files :as files]
|
[app.rpc.commands.files :as files]
|
||||||
[app.rpc.commands.files-snapshot :as fsnap]
|
[app.rpc.commands.files-snapshot :as fsnap]
|
||||||
[app.srepl.helpers :as h]
|
|
||||||
[app.util.time :as dt]))
|
[app.util.time :as dt]))
|
||||||
|
|
||||||
(def ^:dynamic *system* nil)
|
(def ^:dynamic *system* nil)
|
||||||
|
@ -88,44 +85,6 @@
|
||||||
WHERE file_id = ANY(?)
|
WHERE file_id = ANY(?)
|
||||||
AND id IS NOT NULL")
|
AND id IS NOT NULL")
|
||||||
|
|
||||||
(defn enable-team-feature!
|
|
||||||
[team-id feature & {:keys [skip-check] :or {skip-check false}}]
|
|
||||||
(when (and (not skip-check) (not (contains? cfeat/supported-features feature)))
|
|
||||||
(ex/raise :type :assertion
|
|
||||||
:code :feature-not-supported
|
|
||||||
:hint (str "feature '" feature "' not supported")))
|
|
||||||
|
|
||||||
(let [team-id (h/parse-uuid team-id)]
|
|
||||||
(db/tx-run! main/system
|
|
||||||
(fn [{:keys [::db/conn]}]
|
|
||||||
(let [team (-> (db/get conn :team {:id team-id})
|
|
||||||
(update :features db/decode-pgarray #{}))
|
|
||||||
features (conj (:features team) feature)]
|
|
||||||
(when (not= features (:features team))
|
|
||||||
(db/update! conn :team
|
|
||||||
{:features (db/create-array conn "text" features)}
|
|
||||||
{:id team-id})
|
|
||||||
:enabled))))))
|
|
||||||
|
|
||||||
(defn disable-team-feature!
|
|
||||||
[team-id feature & {:keys [skip-check] :or {skip-check false}}]
|
|
||||||
(when (and (not skip-check) (not (contains? cfeat/supported-features feature)))
|
|
||||||
(ex/raise :type :assertion
|
|
||||||
:code :feature-not-supported
|
|
||||||
:hint (str "feature '" feature "' not supported")))
|
|
||||||
|
|
||||||
(let [team-id (h/parse-uuid team-id)]
|
|
||||||
(db/tx-run! main/system
|
|
||||||
(fn [{:keys [::db/conn]}]
|
|
||||||
(let [team (-> (db/get conn :team {:id team-id})
|
|
||||||
(update :features db/decode-pgarray #{}))
|
|
||||||
features (disj (:features team) feature)]
|
|
||||||
(when (not= features (:features team))
|
|
||||||
(db/update! conn :team
|
|
||||||
{:features (db/create-array conn "text" features)}
|
|
||||||
{:id team-id})
|
|
||||||
:disabled))))))
|
|
||||||
|
|
||||||
(defn search-file-snapshots
|
(defn search-file-snapshots
|
||||||
"Get a seq parirs of file-id and snapshot-id for a set of files
|
"Get a seq parirs of file-id and snapshot-id for a set of files
|
||||||
and specified label"
|
and specified label"
|
||||||
|
|
|
@ -161,6 +161,43 @@
|
||||||
(enable-objects-map-feature-on-file! file-id opts)
|
(enable-objects-map-feature-on-file! file-id opts)
|
||||||
(enable-pointer-map-feature-on-file! file-id opts))
|
(enable-pointer-map-feature-on-file! file-id opts))
|
||||||
|
|
||||||
|
(defn enable-team-feature!
|
||||||
|
[team-id feature & {:keys [skip-check] :or {skip-check false}}]
|
||||||
|
(when (and (not skip-check) (not (contains? cfeat/supported-features feature)))
|
||||||
|
(ex/raise :type :assertion
|
||||||
|
:code :feature-not-supported
|
||||||
|
:hint (str "feature '" feature "' not supported")))
|
||||||
|
|
||||||
|
(let [team-id (h/parse-uuid team-id)]
|
||||||
|
(db/tx-run! main/system
|
||||||
|
(fn [{:keys [::db/conn]}]
|
||||||
|
(let [team (-> (db/get conn :team {:id team-id})
|
||||||
|
(update :features db/decode-pgarray #{}))
|
||||||
|
features (conj (:features team) feature)]
|
||||||
|
(when (not= features (:features team))
|
||||||
|
(db/update! conn :team
|
||||||
|
{:features (db/create-array conn "text" features)}
|
||||||
|
{:id team-id})
|
||||||
|
:enabled))))))
|
||||||
|
|
||||||
|
(defn disable-team-feature!
|
||||||
|
[team-id feature & {:keys [skip-check] :or {skip-check false}}]
|
||||||
|
(when (and (not skip-check) (not (contains? cfeat/supported-features feature)))
|
||||||
|
(ex/raise :type :assertion
|
||||||
|
:code :feature-not-supported
|
||||||
|
:hint (str "feature '" feature "' not supported")))
|
||||||
|
|
||||||
|
(let [team-id (h/parse-uuid team-id)]
|
||||||
|
(db/tx-run! main/system
|
||||||
|
(fn [{:keys [::db/conn]}]
|
||||||
|
(let [team (-> (db/get conn :team {:id team-id})
|
||||||
|
(update :features db/decode-pgarray #{}))
|
||||||
|
features (disj (:features team) feature)]
|
||||||
|
(when (not= features (:features team))
|
||||||
|
(db/update! conn :team
|
||||||
|
{:features (db/create-array conn "text" features)}
|
||||||
|
{:id team-id})
|
||||||
|
:disabled))))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; NOTIFICATIONS
|
;; NOTIFICATIONS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue