summaryrefslogtreecommitdiff
path: root/lisp/service
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/service')
-rw-r--r--lisp/service/about-us-service.lisp6
-rw-r--r--lisp/service/contact-us-service.lisp4
-rw-r--r--lisp/service/login-service.lisp5
-rw-r--r--lisp/service/menu-service.lisp5
-rw-r--r--lisp/service/messages-service.lisp4
-rw-r--r--lisp/service/password-service.lisp3
-rw-r--r--lisp/service/profile-service.lisp34
-rw-r--r--lisp/service/rest-service.lisp2
-rw-r--r--lisp/service/users-service.lisp13
9 files changed, 67 insertions, 9 deletions
diff --git a/lisp/service/about-us-service.lisp b/lisp/service/about-us-service.lisp
index 71b5b70..efbcbd2 100644
--- a/lisp/service/about-us-service.lisp
+++ b/lisp/service/about-us-service.lisp
@@ -66,3 +66,9 @@
(update-record general-pkg about-us))))
(setf (content instance) content)
(setf (message instance) "About Us text saved successfully.")))
+
+(define-endpoint ("/home" :method :get) () about-us-json "home")
+(define-endpoint ("/home" :method :post) (&post (message :parameter-type 'string) (errormsg :parameter-type 'string)) about-us-json "home" message errormsg)
+(define-endpoint ("/home/view" :method :get) () about-us-view-json "home")
+(define-endpoint ("/home/modify" :method :post) () about-us-modify-json "home")
+(define-endpoint ("/home/modify/submit" :method :post) (&post (content :parameter-type 'string)) about-us-modify-submit-json "home" content)
diff --git a/lisp/service/contact-us-service.lisp b/lisp/service/contact-us-service.lisp
index 43f6da3..1e55ddb 100644
--- a/lisp/service/contact-us-service.lisp
+++ b/lisp/service/contact-us-service.lisp
@@ -82,3 +82,7 @@
(error (e)
(declare (ignore e))
(setf (session-value :errormsg) "Error submitting form.")))))))
+
+(define-endpoint ("/contact-us" :method :get) () contact-us-json)
+(define-endpoint ("/contact-us/view" :method :get) () contact-us-view-json)
+(define-endpoint ("/contact-us/email" :method :post) (&post (first_name :parameter-type 'string) (last_name :parameter-type 'string) (email :parameter-type 'string) (phone :parameter-type 'string) (comments :parameter-type 'string)) contact-us-email-json first_name last_name email phone comments)
diff --git a/lisp/service/login-service.lisp b/lisp/service/login-service.lisp
index 5f7dd2c..1b966e2 100644
--- a/lisp/service/login-service.lisp
+++ b/lisp/service/login-service.lisp
@@ -62,3 +62,8 @@
(setf (session-value :errormsg) "Login failed."))))))
(setf (message instance) (session-value :message))
(setf (errormsg instance) (session-value :errormsg))))
+
+(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)
diff --git a/lisp/service/menu-service.lisp b/lisp/service/menu-service.lisp
index e213069..b1bd84d 100644
--- a/lisp/service/menu-service.lisp
+++ b/lisp/service/menu-service.lisp
@@ -4,12 +4,12 @@
(in-package :resume)
(defparameter *menu-config* '((:id "a_menu_home" :label "Home" :handler "/home" :permissions "_Public")
- (:id "a_menu_resume" :label "Resumes" :handler "/resume/resume" :permissions "resume-view")
(:id "a_menu_resume_contactinfo" :label "Contact Info" :handler "/resume/contactinfo" :permissions "resume-view")
(:id "a_menu_resume_education" :label "Education" :handler "/resume/education" :permissions "resume-view")
(:id "a_menu_resume_language" :label "Language" :handler "/resume/language" :permissions "resume-view")
(:id "a_menu_resume_skill" :label "Skills" :handler "/resume/skill" :permissions "resume-view")
(:id "a_menu_resume_job" :label "Jobs" :handler "/resume/job" :permissions "resume-view")
+ (:id "a_menu_resume" :label "Resumes" :handler "/resume/resume" :permissions "resume-view")
(:id "a_menu_contact_us" :label "Contact Me" :handler "/contact-us" :permissions "_Public")
(:id "a_menu_messages" :label "Messages" :handler "/messages" :permissions "messages-view")
(:id "a_menu_users" :label "Users" :handler "/users" :permissions "users-view")))
@@ -97,3 +97,6 @@
(format nil "~a ~a" (first_name user) (last_name user))
"No User Found"))
(org-ckons-json::objects-to-json `(,instance))))
+
+(define-endpoint ("/menu" :method :get) () menu-json)
+(define-endpoint ("/menu/user" :method :get) () menu-user-json)
diff --git a/lisp/service/messages-service.lisp b/lisp/service/messages-service.lisp
index 9dc047a..9690822 100644
--- a/lisp/service/messages-service.lisp
+++ b/lisp/service/messages-service.lisp
@@ -55,3 +55,7 @@
(error (e)
(declare (ignore e))
(setf (session-value :errormsg) (format nil "Error marking message ~a." read)))))))
+
+(define-endpoint ("/messages" :method :get) () messages-json)
+(define-endpoint ("/messages/results" :method :post) (&post (read :parameter-type 'string)) messages-results-json read)
+(define-endpoint ("/messages/mark" :method :post) (&post (read :parameter-type 'string) (id :parameter-type 'integer)) messages-mark-json read id)
diff --git a/lisp/service/password-service.lisp b/lisp/service/password-service.lisp
index 31b51b8..dc319a0 100644
--- a/lisp/service/password-service.lisp
+++ b/lisp/service/password-service.lisp
@@ -48,3 +48,6 @@
(set-user user)
(setf (session-value :message) "Password saved successfully."))
(setf (session-value :errormsg) "An error occured."))))))
+
+(define-endpoint ("/password" :method :get) () password-json)
+(define-endpoint ("/password/submit" :method :post) (&post (id :parameter-type 'integer) (pwd :parameter-type 'string) (pwd2 :parameter-type 'string)) password-submit-json id pwd pwd2)
diff --git a/lisp/service/profile-service.lisp b/lisp/service/profile-service.lisp
index 9e37bbf..d2a9f05 100644
--- a/lisp/service/profile-service.lisp
+++ b/lisp/service/profile-service.lisp
@@ -3,22 +3,36 @@
(in-package :resume)
-(defclass profile-service (auth-service user)
+(defclass profile-service (auth-service)
((title :initarg :title
:initform nil
:accessor title))
(:documentation ""))
+(defclass profile/view-service (profile-service)
+ ((items :initarg items
+ :initform nil
+ :accessor items)
+ (location-p :initform nil))
+ (:documentation ""))
+
+(defclass profile/modify-service (profile/view-service)
+ ((form :initarg :form
+ :initform nil
+ :accessor form))
+ (:documentation ""))
+
(defun profile-json ()
(with-auth (instance profile-service "profile-modify")
- (setf (title instance) "Profile")
- (sanitize-rest-json instance)))
+ (setf (title instance) "Profile")))
(defun profile-view-json ()
- (with-auth (instance profile-service "profile-modify")
+ (with-auth (instance profile/view-service "profile-modify")
(let ((user (get-user)))
- (copy-from-record instance user))
- (sanitize-rest-json instance)))
+ (setf (items instance) `(,user)))
+ (sanitize-rest-json instance)
+ (loop for item in (items instance)
+ do (sanitize-json item))))
(defclass profile/modify-service (profile-service)
((form :initarg :form
@@ -30,7 +44,7 @@
(defun profile-modify-json ()
(with-auth (instance profile/modify-service "profile-modify")
(let ((user (get-user)))
- (sanitize-rest-json instance)
+ (sanitize-json user)
(setf (title instance) "Profile - Modify")
(setf (form instance) (make-form "profile-modify-form"
nil
@@ -54,8 +68,12 @@
(intersection `(,x) '(id)))
(sb-introspect:function-lambda-list #'profile-modify-submit-json))
do (setf (slot-value user param) (symbol-value param)))
- (copy-from-record instance user)
(update-user auth-pkg user)
(set-user user)
(setf (session-value :message) "Profile saved successfully."))
(setf (session-value :errormsg) "An error occured."))))))
+
+(define-endpoint ("/profile" :method :get) () profile-json)
+(define-endpoint ("/profile/view" :method :get) () profile-view-json)
+(define-endpoint ("/profile/modify" :method :post) () profile-modify-json)
+(define-endpoint ("/profile/modify/submit" :method :post) (&post (id :parameter-type 'integer) (username :parameter-type 'string) (first_name :parameter-type 'string) (last_name :parameter-type 'string) (email :parameter-type 'string) (phone :parameter-type 'string)) profile-modify-submit-json id username first_name last_name email phone)
diff --git a/lisp/service/rest-service.lisp b/lisp/service/rest-service.lisp
index 92274d6..4d23031 100644
--- a/lisp/service/rest-service.lisp
+++ b/lisp/service/rest-service.lisp
@@ -39,3 +39,5 @@
(loop for slot in (intersection '(org-ckons-session::*session-key *table *where-expression pwd)
(org-ckons-core::map-slot-names rest-service))
do (setf (slot-value rest-service slot) nil)))
+
+(define-endpoint ("/location" :method :post) (&post (location :parameter-type 'string)) location-json location)
diff --git a/lisp/service/users-service.lisp b/lisp/service/users-service.lisp
index a626971..556ea7f 100644
--- a/lisp/service/users-service.lisp
+++ b/lisp/service/users-service.lisp
@@ -280,3 +280,16 @@
(setf (session-value :errormsg) nil)
(setf (session-value :message) "User deleted successfully.")))
(setf (session-value :errormsg) "Error: could not delete user: not found."))))))
+
+(define-endpoint ("/users" :method :get) () users-json)
+(define-endpoint ("/users/view" :method :get) () users-view-json)
+(define-endpoint ("/users/add" :method :post) () users-add-json)
+(define-endpoint ("/users/add/submit" :method :post) (&post (role_groups :parameter-type 'string) (first_name :parameter-type 'string) (last_name :parameter-type 'string) (email :parameter-type 'string)) users-add-submit-json role_groups first_name last_name email)
+(define-endpoint ("/register/:hash" :method :get) (&path (hash 'string)) base (format nil "/register/~a" hash))
+(define-endpoint ("/users/register" :method :post) (&post (hash :parameter-type 'string)) users-register-json hash)
+(define-endpoint ("/users/register/form" :method :post) (&post (hash :parameter-type 'string)) users-register-form-json hash)
+(define-endpoint ("/users/register/submit" :method :post) (&post (hash :parameter-type 'string) (username :parameter-type 'string) (pwd :parameter-type 'string) (pwd2 :parameter-type 'string) (phone :parameter-type 'string)) users-register-submit-json hash username pwd pwd2 phone)
+(define-endpoint ("/users/modify" :method :post) (&post (id :parameter-type 'integer)) users-modify-json id)
+(define-endpoint ("/users/modify/submit" :method :post) (&post (id :parameter-type 'integer) (role_groups :parameter-type 'string) (username :parameter-type 'string) (first_name :parameter-type 'string) (last_name :parameter-type 'string) (email :parameter-type 'string) (phone :parameter-type 'string)) users-modify-submit-json id role_groups username first_name last_name email phone)
+(define-endpoint ("/users/toggle-active" :method :post) (&post (id :parameter-type 'integer)) users-toggle-active-json id)
+(define-endpoint ("/users/delete/:id" :method :delete) (&path (id 'integer)) users-delete-json id)