summaryrefslogtreecommitdiff
path: root/lib/pages.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pages.ml')
-rw-r--r--lib/pages.ml33
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/pages.ml b/lib/pages.ml
deleted file mode 100644
index e52332f..0000000
--- a/lib/pages.ml
+++ /dev/null
@@ -1,33 +0,0 @@
-open Piaf
-
-type pool = ((module Rapper_helper.CONNECTION), Caqti_error.t) Caqti_eio.Pool.t
-
-(* This is the main handler function for the GET /posts endpoint. *)
-(* It takes a database connection pool and a Piaf request as input. *)
-let get_root (db_pool : pool) (request : Request.t) =
- let _coki = Piaf.Cookies.Cookie.parse request.headers in
- (* Use a connection from the pool. Caqti_eio.Pool.use handles acquiring and releasing the connection. *)
- Caqti_eio.Pool.use
- (fun conn ->
- (* Call the get_poasts function from the Query module to fetch posts from the database. *)
- let posts_or_error = Query.get_poasts () conn in
- (* Pattern match on the result of the database query. *)
- match posts_or_error with
- (* If the query is successful, the result is a list of posts. *)
- | Ok posts ->
- (* Map the list of post tuples to a Yojson list. *)
- let json =
- `List
- ((* For each post tuple, create a JSON object. *)
- List.map
- (fun (post : Query.post_summary) -> `Assoc [ "title", `String post.title ])
- posts)
- in
- (* Return a 200 OK response with the JSON body. *)
- Ok (Response.of_string ~body:(Yojson.Safe.to_string json) `OK)
- (* If the query fails, log the error and return a 500 Internal Server Error response. *)
- | Error err ->
- Logs.err (fun m -> m "Database error: %a" Caqti_error.pp err);
- Ok (Response.create `Internal_server_error))
- db_pool
-;;