Make.UserServiceinclude Core.Container.Service.Sigval lifecycle : Core.Container.Lifecycle.tval find_all :
Core.Ctx.t ->
query:Database.Ql.t ->
(User__.Model.t list * Repository.Meta.t) Lwt.tval find_opt : Core.Ctx.t -> user_id:string -> User__.Model.t option Lwt.tval find : Core.Ctx.t -> user_id:string -> User__.Model.t Lwt.tval find_by_email : Core.Ctx.t -> email:string -> User__.Model.t Lwt.tval find_by_email_opt :
Core.Ctx.t ->
email:string ->
User__.Model.t option Lwt.tval update_password :
Core.Ctx.t ->
?password_policy:(string -> (unit, string) Result.t) ->
user:User__.Model.t ->
old_password:string ->
new_password:string ->
new_password_confirmation:string ->
unit ->
(User__.Model.t, string) Result.t Lwt.tval update_details :
Core.Ctx.t ->
user:User__.Model.t ->
email:string ->
username:string option ->
User__.Model.t Lwt.tval set_password :
Core.Ctx.t ->
?password_policy:(string -> (unit, string) Result.t) ->
user:User__.Model.t ->
password:string ->
password_confirmation:string ->
unit ->
(User__.Model.t, string) Result.t Lwt.tSet the password of a user without knowing the old password.
This feature is typically used by admins.
val create_user :
Core.Ctx.t ->
email:string ->
password:string ->
username:string option ->
User__.Model.t Lwt.tCreate and store a user.
val create_admin :
Core.Ctx.t ->
email:string ->
password:string ->
username:string option ->
User__.Model.t Lwt.tCreate and store a user that is also an admin.
val register :
Core.Ctx.t ->
?password_policy:(string -> (unit, string) result) ->
?username:string ->
email:string ->
password:string ->
password_confirmation:string ->
unit ->
(User__.Model.t, string) Result.t Lwt.tCreate and store new user.
Provide password_policy to check whether the password fulfills certain criteria.
val login :
Core.Ctx.t ->
email:string ->
password:string ->
(User__.Model.t, string) Result.t Lwt.tFind user by email if password matches.
val configure : Core.Configuration.data -> Core.Container.Service.t