summaryrefslogtreecommitdiffstats
path: root/src/controller/routes.phel
blob: 5016bb38ce7a581160ded81237d281276840916e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(ns lezer.controller.routes
  (:require lezer.view.main :refer [index-html])
  (:require lezer.module.greet :as g)
  (:require phel.router :as r)
  (:require phel.http :as h)
  (:require phel.pdo))

(def conn (pdo/connect "sqlite:test.db"))
(pdo/exec conn "create table if not exists books (id integer primary key autoincrement, title varchar(255))")

(defn index-handler [req]
  (let [books (pdo/select conn "select * from books")]
    (h/response-from-map {:status 200
                          :body (index-html books)})))

(defn ping-handler [req]
  (h/response-from-map {:status 200
                        :body (g/greet (str "pong - " (rand)))}))

(defn book-create-handler [request]
  (let [title (get-in request [:parsed-body "title"])]
    (pdo/insert conn :books {:title title}))
  (h/response-from-map {:status 201
                        :body (pdo/select conn "select * from books")}))