From b9180da6e2badce179044af7f05725d4317bb00a Mon Sep 17 00:00:00 2001 From: Craig Oates Date: Sat, 17 Sep 2022 14:07:04 +0100 Subject: [PATCH] implement /pages and /view/page/:slug defroutes in web.lisp file. --- src/web.lisp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/web.lisp b/src/web.lisp index cd77813..b43b066 100644 --- a/src/web.lisp +++ b/src/web.lisp @@ -384,7 +384,7 @@ (progn (utils:set-alert "You are not logged in.") (redirect "/login"))))))) -(defroute ("/pages" :method :GET) () +(defroute ("/user/pages" :method :GET) () (hermetic:auth (:logged-in) ;; Authorised (let ((alert (utils:get-and-reset-alert))) @@ -399,6 +399,27 @@ (utils:set-alert "You are not logged in.") (redirect "/login")))) +(defroute ("/pages" :method :GET) () + (let ((alert (utils:get-and-reset-alert))) + (render #P"pages.html" + (append (if (hermetic:logged-in-p) + (auth:auth-user-data)) + `(:alert ,alert + :pages ,(storage:get-file-names + (storage:get-files-in-directory + "" "pages"))))))) + +(defroute ("/view/page/:slug" :method :GET) (&key slug) + (let ((alert (utils:get-and-reset-alert))) + (if (storage:file-exists-p "" "pages" slug) + (render #P"page.html" + (append (if (hermetic:logged-in-p) + (auth:auth-user-data)) + `(:alert ,alert + :data ,(storage:open-text-file + "" "pages" slug)))) + (on-exception *web* 404)))) + (defroute ("/edit/page/:slug" :method :GET) (&key slug) (hermetic:auth (:logged-in) ;; Authorised