summaryrefslogtreecommitdiff
path: root/src/chef/pages/admin/api.clj
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2025-05-25 16:00:21 +0200
committerTim <contact@bytim.eu>2025-05-25 16:00:21 +0200
commitaaf4304c7cf6259fc00366608ce643cf9697a887 (patch)
treea7360a573ba7624c676aa6774480bd8bbbc0a9be /src/chef/pages/admin/api.clj
parentd658c185d0c56a72b062a234982c5d1f8da49c1c (diff)
downloadchef-aaf4304c7cf6259fc00366608ce643cf9697a887.tar.xz
chef-aaf4304c7cf6259fc00366608ce643cf9697a887.zip
Make categories editable; TODO: store the root question
Diffstat (limited to 'src/chef/pages/admin/api.clj')
-rw-r--r--src/chef/pages/admin/api.clj15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/chef/pages/admin/api.clj b/src/chef/pages/admin/api.clj
index a15b897..38f40f7 100644
--- a/src/chef/pages/admin/api.clj
+++ b/src/chef/pages/admin/api.clj
@@ -39,3 +39,18 @@
(ruresp/status 200)
(ruresp/header "HX-Refresh" "true")))
(ruresp/bad-request "Bad request."))))
+
+(defn edit-category [req]
+ (cutils/auth-only req
+ (if-let [id (try (Integer/parseInt (get-in req [:path-params :id]))
+ (catch Exception _ nil))]
+ (do (when-let [name (get-in req [:params "name"])]
+ (jdbc/execute! @cdb/db (sql/format {:update :categories
+ :set {:name name}
+ :where [:= :id id]})))
+ (when-let [question (get-in req [:params "question"])]
+ (jdbc/execute! @cdb/db (sql/format {:update :categories
+ :set {:question question}
+ :where [:= :id id]})))
+ (ruresp/response "Updated."))
+ (ruresp/bad-request "Bad request."))))