diff --git a/#start.sh# b/#start.sh# new file mode 100644 index 0000000..bd511d0 --- /dev/null +++ b/#start.sh# @@ -0,0 +1 @@ +#!/usr/bin \ No newline at end of file diff --git a/db/database.mli b/db/database.mli new file mode 100644 index 0000000..91f6a41 --- /dev/null +++ b/db/database.mli @@ -0,0 +1,77 @@ +module BlogPost : + sig + type t = { + slug : string; + title : string; + content : string; + date : string; + } + end + +module Q : + sig + val blog_post : BlogPost.t Caqti_type.t + + val create_blog_post_table : (unit, unit, [ `Zero ]) Caqti_request.t + + val create_blog_post : + (string * string * string * string, unit, [ `Zero ]) Caqti_request.t + + val get_all_blog_posts : + (unit, BlogPost.t, [ `Many | `One | `Zero ]) Caqti_request.t + + val get_all_blog_posts_for_display : + (unit, string * string, [ `Many | `One | `Zero ]) Caqti_request.t + + val get_blog_post_by_slug : + (string, BlogPost.t, [ `One | `Zero ]) Caqti_request.t + + val update_blog_post_content : + (string * string, unit, [ `Zero ]) Caqti_request.t + + val update_blog_post_title : + (string * string, unit, [ `Zero ]) Caqti_request.t + + val delete_blog_post : (string, unit, [ `Zero ]) Caqti_request.t + end + +module Db : Caqti_lwt.CONNECTION + +module Database : + sig + val create_blog_post_table : + unit -> (unit, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val create_blog_post : + string -> + string -> + string -> + string -> (unit, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val update_blog_post_content : + string -> + string -> (unit, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val update_blog_post_title : + string -> + string -> (unit, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val get_blog_post_by_slug : + string -> + (BlogPost.t option, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val get_all_blog_posts : + unit -> + (BlogPost.t list, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t + + val iter_blog_posts : + (BlogPost.t -> + (unit, [> Caqti_error.call_or_retrieve ] as 'a) Stdlib.result Lwt.t) -> + (unit, 'a) Stdlib.result Lwt.t + + val ( >>=? ) : + ('a, 'b) Stdlib.result Lwt.t -> + ('a -> ('c, 'b) Stdlib.result Lwt.t) -> ('c, 'b) Stdlib.result Lwt.t + + val report_error : (unit, [< Caqti_error.t ]) Stdlib.result -> unit Lwt.t + end diff --git a/rawleydotxyz.ml b/rawleydotxyz.ml index ce4bd09..12ab72f 100644 --- a/rawleydotxyz.ml +++ b/rawleydotxyz.ml @@ -6,7 +6,7 @@ exception DatabaseCreationFailure let _ = Database.create_blog_post_table () >>= function - | Ok () -> Lwt_io.print "Database was initialized successfully\n" + | Ok () -> Lwt_io.print "Database initialized successfully.\n" | Error _ -> raise DatabaseCreationFailure let () = diff --git a/render/render.ml b/render/render.ml index 48a1c22..0f6d071 100644 --- a/render/render.ml +++ b/render/render.ml @@ -93,7 +93,7 @@ module Render = struct |> render_page |> Dream.html - let render_blog_index _ = + let render_blog_index (_ : Dream.request) = let buff = Buffer.create 512 in let () = Buffer.add_string buff "