add private profile page

This commit is contained in:
pena 2021-11-07 10:32:17 +01:00 committed by Swrup
parent 75196df7ea
commit 4105d0a988
2 changed files with 10 additions and 2 deletions

View file

@ -60,13 +60,15 @@ let login_post request =
let user request = render_unsafe (User.list ()) 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 logout request =
let _ = Dream.invalidate_session request in let _ = Dream.invalidate_session request in
let content = "Logged out !" in let content = "Logged out !" in
render_unsafe content request render_unsafe content request
let profile request = render_unsafe (User.profile request) request
let () = let () =
Dream.run @@ Dream.logger @@ Dream.memory_sessions Dream.run @@ Dream.logger @@ Dream.memory_sessions
@@ Dream.router @@ Dream.router
@ -79,5 +81,6 @@ let () =
; Dream.get "/user" user ; Dream.get "/user" user
; Dream.get "/user/:user" user_profile ; Dream.get "/user/:user" user_profile
; Dream.get "/logout" logout ; Dream.get "/logout" logout
; Dream.get "/profile" profile
] ]
@@ Dream.not_found @@ Dream.not_found

View file

@ -102,7 +102,7 @@ let list () =
| _ -> failwith "error" ) ) | _ -> failwith "error" ) )
users users
let profile request = let public_profile request =
let nick = Dream.param "user" request in let nick = Dream.param "user" request in
let open Sqlite3_utils in let open Sqlite3_utils in
let user = let user =
@ -116,3 +116,8 @@ let profile request =
email email
| Ok _ -> "incoherent db answer" | Ok _ -> "incoherent db answer"
| Error e -> Format.sprintf "db error: %s" (Rc.to_string e) | 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