summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/controller/routes.phel7
-rw-r--r--src/db.phel2
-rw-r--r--src/view/main.phel3
3 files changed, 9 insertions, 3 deletions
diff --git a/src/controller/routes.phel b/src/controller/routes.phel
index 7e1cde8..f6ec95e 100644
--- a/src/controller/routes.phel
+++ b/src/controller/routes.phel
@@ -22,11 +22,13 @@
(defn book-create-handler [request]
(let [title (get-in request [:parsed-body "title"])
subtitle (get-in request [:parsed-body "subtitle"])
- authors (str/split (get-in request [:parsed-body "author"]) #",")]
+ authors (str/split (get-in request [:parsed-body "author"]) #",")
+ pages (get-in request [:parsed-body "pages"])]
(pdo/with-transaction conn
(let [time (php/time)
book-id (pdo/insert conn :books {:title title
:subtitle subtitle
+ :pages pages
:created_at time
:updated_at time})]
(for [a :in authors]
@@ -39,6 +41,7 @@
(defn book-session-create-handler [request]
(let [id (get-in request [:attributes :match :path-params :id])
+ pages (pdo/fetch-column (pdo/query conn "select pages from books where id = :id" {:id id}))
time (php/time)]
(pdo/with-transaction conn
(let [session-id (pdo/insert conn :books_sessions {:book_id id
@@ -48,7 +51,7 @@
:updated_at time})]
(pdo/insert conn :sessions_progress {:session_id session-id
:progress 0
- :total 0
+ :total pages
:created_at time
:updated_at time}))))
(h/response-from-map {:status 301 :headers {:location "/"}}))
diff --git a/src/db.phel b/src/db.phel
index 33aee97..965244e 100644
--- a/src/db.phel
+++ b/src/db.phel
@@ -4,7 +4,7 @@
(def conn (pdo/connect "sqlite:test.db"))
(defn initialize-database []
- (pdo/exec conn "create table if not exists books (id integer primary key autoincrement, title varchar(255), subtitle varchar(255), created_at integer, updated_at integer)")
+ (pdo/exec conn "create table if not exists books (id integer primary key autoincrement, title varchar(255), subtitle varchar(255), pages integer, created_at integer, updated_at integer)")
(pdo/exec conn "create table if not exists books_sessions (id integer primary key autoincrement, book_id integer, status string, started_at integer, stopped_at integer, created_at integer, updated_at integer)")
(pdo/exec conn "create table if not exists sessions_progress (id integer primary key autoincrement, session_id integer, progress integer, total integer, created_at integer, updated_at integer)")
(pdo/exec conn "create table if not exists authors (id integer primary key autoincrement, name varchar(255), created_at integer, updated_at integer)")
diff --git a/src/view/main.phel b/src/view/main.phel
index decd4d5..dc57f3c 100644
--- a/src/view/main.phel
+++ b/src/view/main.phel
@@ -61,6 +61,9 @@
[:br]
[:label {:for "author"} "Author: "]
[:input {:type "text" :name "author"}]
+ [:br]
+ [:label {:for "pages"} "# of pages: "]
+ [:input {:type "number" :name "pages"}]
[:input {:type "submit"}]]]]]]))
(defn index-html [books router]