From 4105d0a98866a0d31ecb13bea4528ee51449df94 Mon Sep 17 00:00:00 2001 From: pena Date: Sun, 7 Nov 2021 10:32:17 +0100 Subject: [PATCH] add private profile page --- src/permap.ml | 5 ++++- src/user.ml | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/permap.ml b/src/permap.ml index d5545c8..f302efd 100644 --- a/src/permap.ml +++ b/src/permap.ml @@ -60,13 +60,15 @@ let login_post request = let user request = render_unsafe (User.list ()) request -let user_profile request = render_unsafe (User.profile request) request +let user_profile request = render_unsafe (User.public_profile request) request let logout request = let _ = Dream.invalidate_session request in let content = "Logged out !" in render_unsafe content request +let profile request = render_unsafe (User.profile request) request + let () = Dream.run @@ Dream.logger @@ Dream.memory_sessions @@ Dream.router @@ -79,5 +81,6 @@ let () = ; Dream.get "/user" user ; Dream.get "/user/:user" user_profile ; Dream.get "/logout" logout + ; Dream.get "/profile" profile ] @@ Dream.not_found diff --git a/src/user.ml b/src/user.ml index 2772fca..c544409 100644 --- a/src/user.ml +++ b/src/user.ml @@ -102,7 +102,7 @@ let list () = | _ -> failwith "error" ) ) users -let profile request = +let public_profile request = let nick = Dream.param "user" request in let open Sqlite3_utils in let user = @@ -116,3 +116,8 @@ let profile request = email | Ok _ -> "incoherent db answer" | Error e -> Format.sprintf "db error: %s" (Rc.to_string e) + +let profile request = + match Dream.session "nick" request with + | None -> "not logged in" + | Some nick -> Format.sprintf "Hello %s !" nick