A pastebin for markdown pages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
896 B

(ns NoteHub.storage
(:use [NoteHub.config])
(:require [clj-redis.client :as redis]))
(def db
(redis/init
(when noir.options/dev-mode?
{:url (config-map :db-url)})))
(def note "note")
14 years ago
(def views "views")
(defn- build-key [[year month day] title]
(print-str year month day title))
(defn set-note [date title text]
14 years ago
(let [key (build-key date title)]
(redis/hset db note key text)))
(defn get-note [date title]
(let [key (build-key date title)
text (redis/hget db note key)]
(when text
(do
(redis/hincrby db views key 1)
text))))
14 years ago
(defn get-views [date title]
(redis/hget db views (build-key date title)))
(defn note-exists? [date title]
(redis/hexists db note (build-key date title)))
(defn delete-note [date title]
(let [key (build-key date title)]
(do
(redis/hdel db views key)
(redis/hdel db note key))))