Module Os_current_user
module Os_current_user : sig..end
This module provides functions and types to manage the current user.
On server side, this will work only if the current request in wrapped in Os_session.connected_wrapper, or Os_session.connected_fun, etc. Otherwise, an exception is raised.
type current_user = | CU_idontknown | CU_notconnected | CU_user of Os_types.User.t
val get_current_user : unit -> Os_types.User.t
get_current_user () returns the current user as a Os_types.User.t type. If no user is connected, it fails with Os_session.Not_connected.
val get_current_userid : unit -> Os_types.User.id
get_current_userid () returns the ID of the current user. If no user is connected, it fails with Os_session.Not_connected.
module Opt : sig..end
Instead of exception, the module Opt returns an option.
val remove_email_from_user : string -> unit Lwt.t
remove_email_from_user email removes the email email of the current user. If no user is connected, it fails with Os_session.Not_connected. If email is the main email of the current user, it fails with Os_db.Main_email_removal_attempt.
val update_main_email : string -> unit Lwt.t
update_main_email email sets the main email of the current user to email. If no user is connected, it fails with Os_session.Not_connected.
val update_language : string -> unit Lwt.t
update_language language updates the language of the current user. If no user is connected, it fails with Os_session.Not_connected.
val is_email_validated : string -> bool Lwt.t
is_email_validated email returns true if email is a valided email for the current user. If no user is connected, it fails with Os_session.Not_connected. It returns false in all other cases.
val is_main_email : string -> bool Lwt.t
is_main_email email returns true if email is the main email of the current user.