48 lines
1.2 KiB
OCaml
48 lines
1.2 KiB
OCaml
module Blog_post :
|
|
sig
|
|
type t = {
|
|
slug : string;
|
|
title : string;
|
|
content : string;
|
|
date : string;
|
|
}
|
|
end
|
|
|
|
module Db : Caqti_lwt.CONNECTION
|
|
|
|
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 ->
|
|
(Blog_post.t option, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t
|
|
|
|
val get_all_blog_posts :
|
|
unit ->
|
|
(Blog_post.t list, [> Caqti_error.call_or_retrieve ]) Stdlib.result Lwt.t
|
|
|
|
val iter_blog_posts :
|
|
(Blog_post.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
|