summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-05-12 11:08:16 +0800
committereltrac <hi@eltr.ac>2026-05-12 11:08:16 +0800
commitb2bbeed2dc2bbd5ea5b1c3d18954b2c50a6964ec (patch)
tree0295f0797dfefc24dc410cc39dd83fb19f9afc8e
parente45d411450dd9d8edbd591bc10beba119495b80b (diff)
refactor: clean up core.clj
-rw-r--r--src/weepinbell/config.clj8
-rw-r--r--src/weepinbell/core.clj30
2 files changed, 18 insertions, 20 deletions
diff --git a/src/weepinbell/config.clj b/src/weepinbell/config.clj
index 8500b32..00deddb 100644
--- a/src/weepinbell/config.clj
+++ b/src/weepinbell/config.clj
@@ -10,8 +10,8 @@
(-> external-file slurp edn/read-string))]
(merge default-config external-config)))
-(def config (delay (load-config)))
-
-(defn get-config [key & keys]
- (get-in @config (cons key keys)))
+;;(def config (delay (load-config)))
+;;
+;;(defn get-config [key & keys]
+;; (get-in @config (cons key keys)))
diff --git a/src/weepinbell/core.clj b/src/weepinbell/core.clj
index dab73ae..6eaad4d 100644
--- a/src/weepinbell/core.clj
+++ b/src/weepinbell/core.clj
@@ -3,32 +3,30 @@
[weepinbell.processor :as processor]
[weepinbell.handler :refer [app]]
[weepinbell.channel :refer [wmc]]
- [weepinbell.config :refer [get-config load-config]]
+ [weepinbell.config :refer [load-config]]
[weepinbell.webhook :as webhook]
[taoensso.timbre :as timbre]
[weepinbell.storage.edn-storage :as edn])
(:gen-class)) ;; Essential for "lein uberjar"
-(def store (edn/use-store (get-config :data-path)))
+(def config (load-config))
+
+(def store (edn/use-store (:data-path config)))
+
+(def hooks (let [hooks [:on-receive :on-update :on-delete :on-create]
+ webhooks (:webhook config)]
+ (zipmap hooks
+ (map (fn [hook]
+ #(do (timbre/info (name hook) "callback triggered.")
+ (webhook/trigger hook webhooks)))
+ hooks))))
(defn -main [& _]
;; Start webmention processor
- (processor/start wmc
- ;; plug in event hooks
- (let [hooks [:on-receive :on-update :on-delete :on-create]
- webhooks (get-config :webhook)]
- (zipmap hooks
- (map (fn [hook]
- #(do (timbre/info (name hook) "callback triggered.")
- (webhook/trigger hook webhooks)))
- hooks)))
- ;; plug in storage layer
- store
- ;; load configuration
- (load-config))
+ (processor/start wmc hooks store config)
;; Start receiver server
;; Check for a PORT environment variable, default to 3000
(let [port (Integer/parseInt (or (System/getenv "PORT") "3000"))]
- (run-jetty (app store (load-config))
+ (run-jetty (app store config)
{:port port :join? true})))