summaryrefslogtreecommitdiff
path: root/src/weepinbell/processor/storage_checker.clj
blob: 7c5cd7ca89991ecddae4c5f604254edb8bededec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(ns weepinbell.processor.storage-checker
  (:require [taoensso.timbre :as timbre]))

(defn check-storage
  ;; data: {:id ..., :wm {:s ... :t ...}, :ok? true}
  [data storage]
  (when (:ok? data)
    (timbre/info "checking if webmention" (:id data) "already exists")
    (let [{:keys [id wm]} data
          {:keys [s t]} wm
          old-data (or ((:get storage) id)
                       ((:get storage) s t))]
      (-> data
          (assoc :old-data old-data)
          (assoc :new? (or (nil? old-data) (empty? old-data)))
          (assoc :ok? true)))))