Replace survey function call
This commit is contained in:
parent
8ec67cd985
commit
10bc5347ff
1 changed files with 4 additions and 14 deletions
|
@ -1,19 +1,5 @@
|
|||
(in-package :ml-survey/handlers)
|
||||
|
||||
(defun survey-uri-p (uri)
|
||||
"Check if the request URI matches the pattern '/survey/<numeric>'"
|
||||
(check-type uri string)
|
||||
(let ((parts (split-uri uri))
|
||||
(survey (make-survey uri)))
|
||||
(and (= (length parts) 2)
|
||||
(string= (first parts) "survey")
|
||||
(every #'digit-char-p (second parts))
|
||||
(funcall survey 'id-p))))
|
||||
|
||||
(defun survey-uri (request)
|
||||
(let ((uri (request-uri request)))
|
||||
(survey-uri-p uri)))
|
||||
|
||||
(defun make-survey (uri)
|
||||
(labels ((survey-fn (action)
|
||||
(case action
|
||||
|
@ -29,6 +15,10 @@
|
|||
(load-response (make-surveys-db-path)))))))))
|
||||
#'survey-fn))
|
||||
|
||||
(defun survey-uri (request)
|
||||
(let ((survey (make-survey (request-uri request))))
|
||||
(funcall survey 'uri-p)))
|
||||
|
||||
(define-easy-handler (survey :uri #'survey-uri) ()
|
||||
(let ((survey (make-survey (request-uri*))))
|
||||
(ml-survey/views:survey (funcall survey 'id) (funcall survey 'properties))))
|
||||
|
|
Loading…
Add table
Reference in a new issue