Module Bernard_j_ortcutt.Database

type t = Pgx_async.t
val already_acted : t -> target:Action.Target.t -> moderator:Bernard_j_ortcutt.Import.Username.t -> bool Async.Deferred.t
val get_or_create_user_id : t -> username:Bernard_j_ortcutt.Import.Username.t -> Pgx_value.t Async.Deferred.t
val record_contents : t -> target:Action.Target.t -> [ `Ok | `Already_recorded ] Async.Deferred.t
val log_rule_application : t -> target:Action.Target.t -> action_summary:string -> author:Bernard_j_ortcutt.Import.Username.t option -> moderator:Bernard_j_ortcutt.Import.Username.t -> subreddit:Bernard_j_ortcutt.Import.Thing.Subreddit.Id.t -> time:Core.Time_ns.t -> unit Async.Deferred.t
val update_subscriber_counts : t -> subreddits:Bernard_j_ortcutt.Import.Thing.Subreddit.t list -> unit Async.Deferred.t
val update_moderator_table : t -> moderators:Bernard_j_ortcutt.Import.Username.t list -> subreddit:Bernard_j_ortcutt.Import.Thing.Subreddit.Id.t -> unit Async.Deferred.t