test out dream templates
This commit is contained in:
@@ -64,33 +64,31 @@ end
|
||||
module Db = (val Caqti_lwt.connect (Uri.of_string "sqlite3:database.db") >>= Caqti_lwt.or_fail |> Lwt_main.run)
|
||||
|
||||
(* Wrappers for the generic functions defined in Q *)
|
||||
module Database = struct
|
||||
let create_blog_post_table () =
|
||||
Db.exec Q.create_blog_post_table ()
|
||||
let create_blog_post_table () =
|
||||
Db.exec Q.create_blog_post_table ()
|
||||
|
||||
let create_blog_post slug title content date =
|
||||
Db.exec Q.create_blog_post (slug, title, content, date)
|
||||
let create_blog_post slug title content date =
|
||||
Db.exec Q.create_blog_post (slug, title, content, date)
|
||||
|
||||
let update_blog_post_content slug content =
|
||||
Db.exec Q.update_blog_post_content (content, slug)
|
||||
let update_blog_post_content slug content =
|
||||
Db.exec Q.update_blog_post_content (content, slug)
|
||||
|
||||
let update_blog_post_title slug title =
|
||||
Db.exec Q.update_blog_post_title (title, slug)
|
||||
let update_blog_post_title slug title =
|
||||
Db.exec Q.update_blog_post_title (title, slug)
|
||||
|
||||
let get_blog_post_by_slug slug =
|
||||
Db.find_opt Q.get_blog_post_by_slug slug
|
||||
let get_blog_post_by_slug slug =
|
||||
Db.find_opt Q.get_blog_post_by_slug slug
|
||||
|
||||
let get_all_blog_posts () =
|
||||
Db.collect_list Q.get_all_blog_posts ()
|
||||
let get_all_blog_posts () =
|
||||
Db.collect_list Q.get_all_blog_posts ()
|
||||
|
||||
let iter_blog_posts f =
|
||||
Db.iter_s Q.get_all_blog_posts f ()
|
||||
let iter_blog_posts f =
|
||||
Db.iter_s Q.get_all_blog_posts f ()
|
||||
|
||||
let (>>=?) monad func =
|
||||
monad >>= (function | Ok x -> func x | Error err -> Lwt.return (Error err))
|
||||
let (>>=?) monad func =
|
||||
monad >>= (function | Ok x -> func x | Error err -> Lwt.return (Error err))
|
||||
|
||||
let report_error = function
|
||||
| Ok () -> Lwt.return_unit
|
||||
| Error err ->
|
||||
Lwt_io.eprintl (Caqti_error.show err)
|
||||
end
|
||||
let report_error = function
|
||||
| Ok () -> Lwt.return_unit
|
||||
| Error err ->
|
||||
Lwt_io.eprintl (Caqti_error.show err)
|
||||
|
||||
@@ -37,41 +37,38 @@ module Q :
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user