Statistics
[hcoop/portal.git] / init.sig
CommitLineData
208e2cbc
AC
1signature INIT = sig
2 structure C : SQL_CLIENT
3
edeb626e 4 val urlPrefix : string
6f91863c 5 val boardEmail : string
edeb626e 6
208e2cbc 7 exception Access of string
f3f3ad24 8 exception NeedTos
208e2cbc 9
f3f3ad24
AC
10 type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp,
11 app : int}
208e2cbc 12
ee587f7f
AC
13 val rowError : string * C.value list -> 'a
14
15 val mkUserRow : C.value list -> user
208e2cbc
AC
16
17 (* Open or close a session, wrapped in a transaction *)
18 val init : unit -> unit
19 val done : unit -> unit
20
ee587f7f 21 val nextSeq : C.conn * string -> int
208e2cbc
AC
22
23 (* Fun with users *)
24
25 val lookupUser : int -> user
26 val listUsers : unit -> user list
f3f3ad24 27 val addUser : string * string * int * int -> int
208e2cbc
AC
28 (* Pass name, real name, and balance ID *)
29 val modUser : user -> unit
30 val deleteUser : int -> string
31
32 val validUsername : string -> bool
33 val userNameToId : string -> int option
34
35 val getDb : unit -> C.conn
36
37 val getUser : unit -> user
38 val getUserId : unit -> int
39 val getUserName : unit -> string
98a5f121
AC
40
41 val dateString : unit -> string
f3f3ad24
AC
42
43 val grandfatherUsers : unit -> unit
208e2cbc 44end