Module Sihl__.Contract_user

val ptime_to_yojson : Ptime.t -> [> `String of string ]
val ptime_of_yojson : Yojson.Safe.t -> (Ptime.t, string) Stdlib.result
type status =
| Active
| Inactive
val status_to_yojson : status -> Yojson.Safe.t
val status_of_yojson : Yojson.Safe.t -> status Ppx_deriving_yojson_runtime.error_or
val _ : status -> Yojson.Safe.t
val _ : Yojson.Safe.t -> status Ppx_deriving_yojson_runtime.error_or
val pp_status : Ppx_deriving_runtime.Format.formatter -> status -> Ppx_deriving_runtime.unit
val show_status : status -> Ppx_deriving_runtime.string
val status_of_string : string -> (status, string) Stdlib.result
val status_to_string : status -> string
type t = {
id : string;
email : string;
username : string option;
name : string option;
given_name : string option;
password : string;
status : status;
admin : bool;
confirmed : bool;
created_at : Ptime.t;
updated_at : Ptime.t;
}
val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
val _ : t -> Yojson.Safe.t
val _ : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val show_name : t -> string option
exception Exception of string
val name : string
module type Sig = sig ... end
val to_sexp : t -> Sexplib0.Sexp.t
module Hashing : sig ... end
val confirm : t -> t
val set_user_password : t -> string -> (t, string) Stdlib.result
val set_user_details : t -> email:string -> username:string option -> t
val is_admin : t -> bool
val is_owner : t -> Stdlib.String.t -> bool
val is_confirmed : t -> bool
val matches_password : string -> t -> bool
val default_password_policy : string -> (unit, string) Stdlib.result
val validate_new_password : password:Stdlib.String.t -> password_confirmation:Stdlib.String.t -> password_policy:(Stdlib.String.t -> (unit, string) Stdlib.result) -> (unit, string) Stdlib.result
val validate_change_password : t -> old_password:string -> new_password:Stdlib.String.t -> new_password_confirmation:Stdlib.String.t -> password_policy:(Stdlib.String.t -> (unit, string) Stdlib.result) -> (unit, string) Stdlib.result
val make : email:string -> password:string -> name:string option -> given_name:string option -> username:string option -> admin:bool -> confirmed:bool -> (t, string) Stdlib.result