From ab66ca9a0af409458f07a48b642ba9a3a714d8f2 Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 31 Jul 2016 15:57:48 -0400 Subject: [PATCH] return new list id from the add list server-side route --- src/mtgcoll/models/lists.clj | 14 ++++++++------ src/mtgcoll/routes/lists.clj | 6 ++++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/mtgcoll/models/lists.clj b/src/mtgcoll/models/lists.clj index e4f53be..fe31c4c 100644 --- a/src/mtgcoll/models/lists.clj +++ b/src/mtgcoll/models/lists.clj @@ -6,12 +6,14 @@ (defn add-list! [name public? requires-qualities?] - (vexec! view-system @db - ["insert into lists - (name, is_public, require_qualities) - values - (?, ?, ?)" - (str name) (boolean public?) (boolean requires-qualities?)])) + (let [result (vexec! view-system @db + ["insert into lists + (name, is_public, require_qualities) + values + (?, ?, ?) + returning id" + (str name) (boolean public?) (boolean requires-qualities?)])] + (->> result first :id))) (defn remove-list! [list-id] diff --git a/src/mtgcoll/routes/lists.clj b/src/mtgcoll/routes/lists.clj index ef8cef4..60d9a39 100644 --- a/src/mtgcoll/routes/lists.clj +++ b/src/mtgcoll/routes/lists.clj @@ -10,8 +10,10 @@ (wrap-middleware (routes (POST "/lists/add" [name public? requires-qualities? :as request] - (lists/add-list! name public? requires-qualities?) - (response/json {:status "ok"})) + (let [result (lists/add-list! name public? requires-qualities?)] + (response/json + {:status "ok" + :id result}))) (POST "/lists/remove" [list-id :as request] (lists/remove-list! list-id)