mirror of
https://github.com/penpot/penpot.git
synced 2025-01-09 16:30:37 -05:00
✨ Add better call signature for srepl/notify! fn helper
This commit is contained in:
parent
e916c97491
commit
142ae32256
1 changed files with 13 additions and 7 deletions
|
@ -190,6 +190,12 @@
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(defn notify!
|
(defn notify!
|
||||||
|
"Send flash notifications.
|
||||||
|
|
||||||
|
This method allows send flash notifications to specified target destinations.
|
||||||
|
The message can be a free text or a preconfigured one.
|
||||||
|
|
||||||
|
The destination can be: all, profile-id, team-id, or a coll of them."
|
||||||
[{:keys [::mbus/msgbus ::db/pool]} & {:keys [dest code message level]
|
[{:keys [::mbus/msgbus ::db/pool]} & {:keys [dest code message level]
|
||||||
:or {code :generic level :info}
|
:or {code :generic level :info}
|
||||||
:as params}]
|
:as params}]
|
||||||
|
@ -197,10 +203,6 @@
|
||||||
["invalid level %" level]
|
["invalid level %" level]
|
||||||
(contains? #{:success :error :info :warning} level))
|
(contains? #{:success :error :info :warning} level))
|
||||||
|
|
||||||
(dm/verify!
|
|
||||||
["invalid code: %" code]
|
|
||||||
(contains? #{:generic :upgrade-version} code))
|
|
||||||
|
|
||||||
(letfn [(send [dest]
|
(letfn [(send [dest]
|
||||||
(l/inf :hint "sending notification" :dest (str dest))
|
(l/inf :hint "sending notification" :dest (str dest))
|
||||||
(let [message {:type :notification
|
(let [message {:type :notification
|
||||||
|
@ -226,6 +228,9 @@
|
||||||
|
|
||||||
(resolve-dest [dest]
|
(resolve-dest [dest]
|
||||||
(cond
|
(cond
|
||||||
|
(= :all dest)
|
||||||
|
[uuid/zero]
|
||||||
|
|
||||||
(uuid? dest)
|
(uuid? dest)
|
||||||
[dest]
|
[dest]
|
||||||
|
|
||||||
|
@ -241,14 +246,15 @@
|
||||||
(mapcat resolve-dest))
|
(mapcat resolve-dest))
|
||||||
dest)
|
dest)
|
||||||
|
|
||||||
(and (coll? dest)
|
(and (vector? dest)
|
||||||
(every? coll? dest))
|
(every? vector? dest))
|
||||||
(sequence (comp
|
(sequence (comp
|
||||||
(map vec)
|
(map vec)
|
||||||
(mapcat resolve-dest))
|
(mapcat resolve-dest))
|
||||||
dest)
|
dest)
|
||||||
|
|
||||||
(vector? dest)
|
(and (vector? dest)
|
||||||
|
(keyword? (first dest)))
|
||||||
(let [[op param] dest]
|
(let [[op param] dest]
|
||||||
(cond
|
(cond
|
||||||
(= op :email)
|
(= op :email)
|
||||||
|
|
Loading…
Reference in a new issue