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