0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-07 23:08:24 -05:00

🐛 Fix exception on user-feedback rpc method

And normalizes configuration parameters
This commit is contained in:
Andrey Antukh 2024-11-25 09:28:06 +01:00
parent 19b9b3cbd9
commit 9b71e04e1c
2 changed files with 13 additions and 13 deletions

View file

@ -226,8 +226,8 @@
[:priority {:optional true} [:enum :high :low]]
[:extra-data {:optional true} ::sm/text]])
(def ^:private valid-context?
(sm/validator schema:context))
(def ^:private check-context
(sm/check-fn schema:context))
(defn template-factory
[& {:keys [id schema]}]
@ -236,10 +236,8 @@
(sm/check-fn schema)
(constantly nil))]
(fn [context]
(assert (valid-context? context) "expected a valid context")
(check-fn context)
(let [email (build-email-template id context)]
(let [context (-> context check-context check-fn)
email (build-email-template id context)]
(when-not email
(ex/raise :type :internal
:code :email-template-does-not-exists
@ -271,7 +269,7 @@
"Schedule an already defined email to be sent using asynchronously
using worker task."
[{:keys [::conn ::factory] :as context}]
(assert (db/connection? conn) "expected a valid database connection")
(assert (db/connectable? conn) "expected a valid database connection or pool")
(let [email (if factory
(factory context)
@ -348,7 +346,7 @@
[:subject ::sm/text]
[:content ::sm/text]])
(def feedback
(def user-feedback
"A profile feedback email."
(template-factory
:id ::feedback

View file

@ -17,7 +17,7 @@
[app.rpc.doc :as-alias doc]
[app.util.services :as sv]))
(declare ^:private send-feedback!)
(declare ^:private send-user-feedback!)
(def ^:private schema:send-user-feedback
[:map {:title "send-user-feedback"}
@ -34,14 +34,16 @@
:hint "feedback not enabled"))
(let [profile (profile/get-profile pool profile-id)]
(send-feedback! pool profile params)
(send-user-feedback! pool profile params)
nil))
(defn- send-feedback!
(defn- send-user-feedback!
[pool profile params]
(let [dest (cf/get :feedback-destination)]
(let [dest (or (cf/get :user-feedback-destination)
;; LEGACY
(cf/get :feedback-destination))]
(eml/send! {::eml/conn pool
::eml/factory eml/feedback
::eml/factory eml/user-feedback
:from dest
:to dest
:profile profile