Newsletter suscription

This commit is contained in:
Pablo Alba 2022-09-22 13:34:42 +02:00
parent 7dcd362abd
commit 16e8d1fcf2
5 changed files with 19 additions and 35 deletions

View file

@ -25,7 +25,8 @@
(declare get-stats)
(declare send!)
(declare get-subscriptions)
(declare get-subscriptions-newsletter-updates)
(declare get-subscriptions-newsletter-news)
(s/def ::http-client fn?)
(s/def ::version ::us/string)
@ -40,7 +41,8 @@
(defmethod ig/init-key ::handler
[_ {:keys [pool sprops version] :as cfg}]
(fn [{:keys [send? enabled?] :or {send? true enabled? false}}]
(let [subs (get-subscriptions pool)
(let [subs {:newsletter-updates (get-subscriptions-newsletter-updates pool)
:newsletter-news (get-subscriptions-newsletter-news pool)}
enabled? (or enabled?
(contains? cf/flags :telemetry)
(cf/get :telemetry-enabled))
@ -90,9 +92,15 @@
:response-status (:status response)
:response-body (:body response)))))
(defn- get-subscriptions
(defn- get-subscriptions-newsletter-updates
[conn]
(let [sql "select email from profile where props->>'~:newsletter-subscribed' = 'true'"]
(let [sql "select email from profile where props->>'~:newsletter-updates' = 'true'"]
(->> (db/exec! conn [sql])
(mapv :email))))
(defn- get-subscriptions-newsletter-news
[conn]
(let [sql "select email from profile where props->>'~:newsletter-news' = 'true'"]
(->> (db/exec! conn [sql])
(mapv :email))))