clean code

This commit is contained in:
zapashcanon 2022-12-06 00:12:14 +01:00
parent 97864116bb
commit 20f18bcd76
No known key found for this signature in database
GPG key ID: 8981C3C62D1D28F1
24 changed files with 99 additions and 894 deletions

View file

@ -1,52 +1,13 @@
open Util
let home_get request = Home.f request |> Dream.html
let register_get request = Register.f request |> Dream.html
let login_get request = Login.f request |> Dream.html
let login_post request =
match%lwt Dream.form request with
| `Ok [ ("login", login); ("password", password) ] -> (
match User.login ~login ~password request with
| Error e -> render e
| Ok () ->
let url =
match Dream.query request "redirect" with
| None -> "/"
| Some redirect -> Dream.from_percent_encoded redirect
in
Dream.respond ~status:`See_Other
~headers:[ ("Location", url) ]
"Logged in: Happy geo-posting!" )
| form -> handle_invalid_form form
let register_post request =
match%lwt Dream.form request with
| `Ok [ ("email", email); ("nick", nick); ("password", password) ] -> (
match User.register ~email ~nick ~password with
| Error e -> render e
| Ok () ->
let res =
Result.fold ~error:Fun.id
~ok:(fun _ -> "User created ! Welcome !")
(User.login ~login:nick ~password request)
in
render res )
| form -> Util.handle_invalid_form form
let () =
let logger = if App.log then Dream.logger else Fun.id in
Dream.run ~port:App.port
~error_handler:(Dream.error_template Util.error_template)
Dream.run ~port:App.port ~error_handler:(Dream.error_template Template.error)
@@ logger @@ Dream.memory_sessions
@@ Dream.router
Dream.
[ get "/assets/**" (Dream.static ~loader:Util.asset_loader "")
; get "/" home_get
; get "/login" login_get
; post "/login" login_post
; get "/register" register_get
; post "/register" register_post
[ get "/assets/**" Asset.get
; get "/" Home.get
; get "/login" Login.get
; post "/login" Login.post
; get "/register" Register.get
; post "/register" Register.post
]