diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/weepinbell/core.clj | 9 | ||||
| -rw-r--r-- | src/weepinbell/storage/edn_storage.clj (renamed from src/weepinbell/storage.clj) | 12 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/weepinbell/core.clj b/src/weepinbell/core.clj index c88f704..dab73ae 100644 --- a/src/weepinbell/core.clj +++ b/src/weepinbell/core.clj @@ -6,15 +6,10 @@ [weepinbell.config :refer [get-config load-config]] [weepinbell.webhook :as webhook] [taoensso.timbre :as timbre] - [weepinbell.storage :as storage]) + [weepinbell.storage.edn-storage :as edn]) (:gen-class)) ;; Essential for "lein uberjar" -(def datasource (get-config :data-path)) -(def store {:append (partial storage/append-wm datasource) - :update (partial storage/update-wm datasource) - :delete (partial storage/delete-wm datasource) - :get (partial storage/get-wm datasource) - :get-by-domain (partial storage/get-wms-by-domain datasource)}) +(def store (edn/use-store (get-config :data-path))) (defn -main [& _] ;; Start webmention processor diff --git a/src/weepinbell/storage.clj b/src/weepinbell/storage/edn_storage.clj index 8fa634d..436d2be 100644 --- a/src/weepinbell/storage.clj +++ b/src/weepinbell/storage/edn_storage.clj @@ -1,4 +1,4 @@ -(ns weepinbell.storage +(ns weepinbell.storage.edn-storage (:require [clojure.edn :as edn] [weepinbell.utils :refer [get-domain get-target get-path]] [clojure.java.io :as io] @@ -48,7 +48,7 @@ ([datasource source target] (let [pred (get-predicate source target)] (with-webmentions datasource - #(->> % + #(->> % (remove pred) (unload-data datasource)))))) @@ -80,3 +80,11 @@ (delete-wm datasource source target) (append-wm datasource new-data)) +;; make storage vtable +(defn use-store [datasource] + {:append (partial append-wm datasource) + :update (partial update-wm datasource) + :delete (partial delete-wm datasource) + :get (partial get-wm datasource) + :get-by-domain (partial get-wms-by-domain datasource)}) + |
