8d347a33 |
1 | signature INIT = sig |
2 | structure C : SQL_CLIENT |
3 | |
31b85852 |
4 | val scratchDir : string |
2eae496b |
5 | val urlPrefix : string |
453d7579 |
6 | val boardEmail : string |
2eae496b |
7 | |
8d347a33 |
8 | exception Access of string |
5146e435 |
9 | exception NeedTos |
8d347a33 |
10 | |
646dca75 |
11 | val emailSuffix : string |
12 | |
5146e435 |
13 | type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp, |
14 | app : int} |
8d347a33 |
15 | |
369e1577 |
16 | val rowError : string * C.value list -> 'a |
17 | |
18 | val mkUserRow : C.value list -> user |
8d347a33 |
19 | |
9d313c5f |
20 | (* Direct access to database connections *) |
21 | val conn : unit -> C.conn |
22 | |
8d347a33 |
23 | (* Open or close a session, wrapped in a transaction *) |
24 | val init : unit -> unit |
25 | val done : unit -> unit |
26 | |
369e1577 |
27 | val nextSeq : C.conn * string -> int |
8d347a33 |
28 | |
29 | (* Fun with users *) |
30 | |
31 | val lookupUser : int -> user |
32 | val listUsers : unit -> user list |
5146e435 |
33 | val addUser : string * string * int * int -> int |
8d347a33 |
34 | (* Pass name, real name, and balance ID *) |
35 | val modUser : user -> unit |
36 | val deleteUser : int -> string |
37 | |
38 | val validUsername : string -> bool |
39 | val userNameToId : string -> int option |
40 | |
41 | val getDb : unit -> C.conn |
42 | |
43 | val getUser : unit -> user |
44 | val getUserId : unit -> int |
45 | val getUserName : unit -> string |
4b8df0b1 |
46 | |
47 | val dateString : unit -> string |
5146e435 |
48 | |
49 | val grandfatherUsers : unit -> unit |
646dca75 |
50 | end |