package FPauth-core

  1. Overview
  2. Docs

Source file variables.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(**[VARIABLES] is a module which inits and holds field variables for authentication*)

open Dream
open Base

(**[Make] creates an instance of {!Auth_sign.VARIABLES} for a given model*)
module Make (M : Auth_sign.MODEL) : (Auth_sign.VARIABLES with type entity = M.t) = struct
  type entity = M.t

  let authenticated : bool field = new_field ()

  let current_user : entity field = new_field ()

  let auth_error : Error.t field = new_field ()

  let update_current_user updated_user request =
    set_field request current_user updated_user;
    put_session "auth" (M.serialize updated_user) request
end