diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/controller/routes.phel | 7 | ||||
| -rw-r--r-- | src/db.phel | 2 | ||||
| -rw-r--r-- | src/view/main.phel | 3 |
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] |
