package sihl

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Sihl_userSource

This module provides the abstraction of a user that interacts with the Sihl ap. Use it to register new users, changes password, reset passwords and update user details.

User handling is a common task in web development, so Sihl comes with a minimal user model Sihl.User.t. Typically you need some kind of domain user, like a customer that has pizza orders assigned or a applicant that submits applications. This is something that you implement while referencing to Sihl.User.t.

Installation

{ module Repo = Sihl.Data.Repo.Service.Make () module Cmd = Sihl.Cmd.Service.Make () module Log = Sihl.Log.Service.Make () module Db = Sihl.Database.Service (Config) (Log) module MigrationRepo = Sihl.Data.Migration.Service.Repo.MakeMariaDb (Db) module Migration = Sihl.Data.Migration.Service.Make (Log) (Cmd) (Db) (MigrationRepo) }

Sourcemodule Authz : sig ... end
Sourcemodule Seed : sig ... end
Sourcetype t
Sourceval confirmed : t -> bool
Sourceval admin : t -> bool
Sourceval status : t -> string
Sourceval password : t -> string
Sourceval username : t -> string option
Sourceval email : t -> string
Sourceval id : t -> string
Sourceval created_at : t -> Ptime.t
Sourceval to_yojson : t -> Yojson.Safe.t
Sourceval pp : Caml.Format.formatter -> t -> unit
Sourceval show : t -> string
Sourceval equal : t -> t -> bool
Sourceval confirm : t -> t
Sourceval set_user_password : t -> string -> (t, string) Result.t
Sourceval set_user_details : t -> email:string -> username:string option -> t
Sourceval is_admin : t -> bool
Sourceval is_owner : t -> string -> bool
Sourceval is_confirmed : t -> bool
Sourceval matches_password : string -> t -> bool
Sourceval sexp_of_t : t -> Sexplib.Sexp.t
Sourceval default_password_policy : string -> (unit, string) Result.t
Sourceval validate_new_password : password:string -> password_confirmation:string -> password_policy:(string -> (unit, string) Result.t) -> (unit, string) Result.t
Sourceval validate_change_password : t -> old_password:string -> new_password:string -> new_password_confirmation:string -> password_policy:(string -> (unit, string) Result.t) -> (unit, string) Result.t
Sourceval t : t Caqti_type.t

Usage

Sourcemodule Service : sig ... end
Sourcemodule Repo : sig ... end
module Sig : sig ... end
OCaml

Innovation. Community. Security.