summaryrefslogtreecommitdiff
path: root/src/endpoints.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/endpoints.lisp')
-rw-r--r--src/endpoints.lisp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/endpoints.lisp b/src/endpoints.lisp
index e78c9fe..51d2de3 100644
--- a/src/endpoints.lisp
+++ b/src/endpoints.lisp
@@ -9,7 +9,6 @@
(defparameter +session-cookie-name+ "dnd-session")
-
;;; UTILITIES
(defun redirect-to (location)
@@ -169,6 +168,26 @@ functions in url parameters in endpoint definitions."
:seers possible-seers)))))))
+(defendpoint* :get "/spymaster" () ()
+ (with-session (player)
+ (render (page-render-mode)
+ (make-instance 'spymaster
+ :player player
+ :adventures (adventures-visible-by player)))))
+
+
+(defendpoint* :post "/spymaster" () ()
+ (with-session (player)
+ (with-plist ((adventure :adventure) (reported :reported)) (lzb:request-body)
+ (let ((adventure (an-adventure-with-id adventure)))
+ (report-a-rumor player adventure reported))
+ (redirect-to "/tavern"))))
+
+;; NB for current hackers (Tue Mar 7 06:44:02 PM PST 2023)
+;; Even though these next three all look the same I'm not going to
+;; make a macro to generate them. there may be future concerns with
+;; permissions or query parameters that will make them look different.
+
(defendpoint* :get "/adventure/:adventure an-adventure-with-id:/:title:" () ()
(with-session (player)
(render (page-render-mode)
@@ -191,3 +210,4 @@ functions in url parameters in endpoint definitions."
:hero quest))))
+