From e774d11af63764a7457d842ecd74b30a183fa71e Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Sun, 6 Sep 2026 22:04:28 -0600 Subject: migrate to react --- lisp/service/login-service.lisp | 61 +++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 33 deletions(-) (limited to 'lisp/service/login-service.lisp') diff --git a/lisp/service/login-service.lisp b/lisp/service/login-service.lisp index 7a80bfd..408039c 100644 --- a/lisp/service/login-service.lisp +++ b/lisp/service/login-service.lisp @@ -12,53 +12,48 @@ :accessor title)) (:documentation "")) -(defclass login-forgot-service (login-service) - () +(defclass login-authenticate-service (rest-service) + ((location-p :initform nil)) (:documentation "")) -(defmethod initialize-instance :after ((login-service login-service) &key) - (setf (title login-service) "Login") - (setf (form login-service) (make-form "login-form" - nil - t - '((:name "username" :label "Username" :field-type "text" :required "required") - (:name "pwd" :label "Password" :field-type "password" :required "required") - (:label "Login" :field-type "button" :onclick "on_login_submit_clicked()"))))) - -(defmethod initialize-instance :after ((login-forgot-service login-forgot-service) &key) - (setf (title login-forgot-service) "Reset Password") - (setf (form login-forgot-service) (make-form "login-forgot-form" - nil - t - '((:name "username" :label "Username" :field-type "text" :required "required") - (:label "Send password reset email" :field-type "button" :onclick "on_login_forgot_submit_clicked()"))))) - (defun login-json () (with-noauth (instance login-service) - t)) + (setf (title instance) "Login") + (setf (form instance) (make-form "login-form" + nil + t + '((:name "username" :label "Username" :field-type "text" :required "required") + (:name "pwd" :label "Password" :field-type "password" :required "required") + (:label "Login" :field-type "button" :onclick "on_login_submit_clicked()")))))) (defun login-forgot-json () - (with-noauth (instance login-forgot-service) - t)) - -(defclass login-authenticate-service (rest-service) - ((location-p :initform nil)) - (:documentation "")) + (with-noauth (instance login-service) + (setf (title instance) "Reset Password") + (setf (form instance) (make-form "login-forgot-form" + nil + t + '((:name "username" :label "Username" :field-type "text" :required "required") + (:label "Send password reset email" :field-type "button" :onclick "on-login-forgot-submit-clicked")))))) (defun login-authenticate-json (username pwd) (with-noauth (instance login-authenticate-service) (if (or (org-ckons-core::null-or-empty-p username) (org-ckons-core::null-or-empty-p pwd)) - (setf (session-value :errormsg) "Login failed.") + (setf (errormsg instance) "Login failed.") (with-bogenherr-database (let* ((auth-pkg (make-instance 'auth-pkg)) (user (get-active-user-by-username-pwd auth-pkg username pwd))) (cond (user (set-user user) - (setf (session-value :message) "Successfully logged in.") - (setf (session-value :errormsg) nil)) + (setf (message instance) "Successfully logged in.") + (setf (errormsg instance) nil)) (t - (setf (session-value :message) nil) - (setf (session-value :errormsg) "Login failed.")))))) - (setf (message instance) (session-value :message)) - (setf (errormsg instance) (session-value :errormsg)))) + (setf (message instance) nil) + (setf (errormsg instance) "Login failed.")))))) + (setf (message instance) (message instance)) + (setf (errormsg instance) (errormsg instance)))) + +(define-endpoint ("/login" :method :get) () login-json) +(define-endpoint ("/login/authenticate" :method :post) (&post (username :parameter-type 'string) (pwd :parameter-type 'string)) login-authenticate-json username pwd) +(define-endpoint ("/login/forgot" :method :get) () login-forgot-json) +(define-endpoint ("/logout" :method :get) () logout-json) -- cgit v1.3