summaryrefslogtreecommitdiff
path: root/lisp/service/messages-service.lisp
diff options
context:
space:
mode:
authorckonstanski <kostcarl@isu.edu>2026-09-06 22:04:28 -0600
committerckonstanski <kostcarl@isu.edu>2026-09-06 22:04:28 -0600
commite774d11af63764a7457d842ecd74b30a183fa71e (patch)
tree7e0237cf69236ca14a7ad954dc083355b8f30e4a /lisp/service/messages-service.lisp
parentbeb0bed0b615ebcfdc0415cc9d7aff656964c427 (diff)
migrate to reactHEADmaster
Diffstat (limited to 'lisp/service/messages-service.lisp')
-rw-r--r--lisp/service/messages-service.lisp37
1 files changed, 20 insertions, 17 deletions
diff --git a/lisp/service/messages-service.lisp b/lisp/service/messages-service.lisp
index e03c04c..9e2a419 100644
--- a/lisp/service/messages-service.lisp
+++ b/lisp/service/messages-service.lisp
@@ -12,25 +12,28 @@
:accessor form))
(:documentation ""))
+(defclass messages/view-service (messages-service)
+ ((results :initarg :results
+ :initform nil
+ :accessor results)
+ (location-p :initform nil))
+ (:documentation ""))
+
+(defclass messages/mark-service (messages-service)
+ ((location-p :initform nil))
+ (:documentation ""))
+
(defun messages-json ()
(with-auth (instance messages-service "messages-view")
(setf (title instance) "Messages Administration")
(setf (form instance) (make-form "messages-select-mode-form"
nil
nil
- `((:name "read" :field-type "hidden" :required "required" :value ,(session-value :messages-read))
- (:label "View Unread" :field-type "button" :onclick "on_messages_mode_clicked('unread')")
+ `((:label "View Unread" :field-type "button" :onclick "on_messages_mode_clicked('unread')")
(:label "View Read" :field-type "button" :onclick "on_messages_mode_clicked('read')"))))))
-(defclass messages/results-service (messages-service)
- ((results :initarg :results
- :initform nil
- :accessor results)
- (location-p :initform nil))
- (:documentation ""))
-
-(defun messages-results-json (read)
- (with-auth (instance messages/results-service "messages-view")
+(defun messages-view-json (read)
+ (with-auth (instance messages/view-service "messages-view")
(when read (setf (session-value :messages-read) read))
(with-bogenherr-database
(let ((contact-pkg (make-instance 'contact-pkg)))
@@ -41,17 +44,17 @@
(loop for result in (results instance)
do (sanitize-json result))))
-(defclass messages/mark-service (messages-service)
- ((location-p :initform nil))
- (:documentation ""))
-
(defun messages-mark-json (read id)
(with-auth (instance messages/mark-service "messages-view")
(with-bogenherr-database
(handler-case
(let ((contact-pkg (make-instance 'contact-pkg)))
(mark-contact-us-post contact-pkg id (id (get-user)) (string= read "read"))
- (setf (session-value :message) (format nil "Message marked ~a successfully." read)))
+ (setf (message instance) (format nil "Message marked ~a successfully." read)))
(error (e)
(declare (ignore e))
- (setf (session-value :errormsg) (format nil "Error marking message ~a." read)))))))
+ (setf (errormsg instance) (format nil "Error marking message ~a." read)))))))
+
+(define-endpoint ("/messages" :method :get) () messages-json)
+(define-endpoint ("/messages/view" :method :post) (&post (read :parameter-type 'string)) messages-view-json read)
+(define-endpoint ("/messages/mark" :method :post) (&post (read :parameter-type 'string) (id :parameter-type 'integer)) messages-mark-json read id)