Commit | Line | Data |
---|---|---|
208e2cbc AC |
1 | signature INIT = sig |
2 | structure C : SQL_CLIENT | |
3 | ||
e84acecc | 4 | val scratchDir : string |
edeb626e | 5 | val urlPrefix : string |
6f91863c | 6 | val boardEmail : string |
edeb626e | 7 | |
208e2cbc | 8 | exception Access of string |
f3f3ad24 | 9 | exception NeedTos |
208e2cbc | 10 | |
93f77ca7 AC |
11 | val emailSuffix : string |
12 | ||
f3f3ad24 | 13 | type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp, |
aaa50197 | 14 | app : int, shares : int} |
208e2cbc | 15 | |
ee587f7f AC |
16 | val rowError : string * C.value list -> 'a |
17 | ||
18 | val mkUserRow : C.value list -> user | |
208e2cbc | 19 | |
dda99898 AC |
20 | (* Direct access to database connections *) |
21 | val conn : unit -> C.conn | |
22 | ||
208e2cbc AC |
23 | (* Open or close a session, wrapped in a transaction *) |
24 | val init : unit -> unit | |
25 | val done : unit -> unit | |
26 | ||
ee587f7f | 27 | val nextSeq : C.conn * string -> int |
208e2cbc AC |
28 | |
29 | (* Fun with users *) | |
30 | ||
31 | val lookupUser : int -> user | |
32 | val listUsers : unit -> user list | |
aaa50197 AC |
33 | val addUser : string * string * int * int * int -> int |
34 | (* Pass name, real name, balance ID, and share count *) | |
208e2cbc AC |
35 | val modUser : user -> unit |
36 | val deleteUser : int -> string | |
aaa50197 | 37 | val byPledge : unit -> user list |
208e2cbc AC |
38 | |
39 | val validUsername : string -> bool | |
40 | val userNameToId : string -> int option | |
41 | ||
42 | val getDb : unit -> C.conn | |
43 | ||
44 | val getUser : unit -> user | |
45 | val getUserId : unit -> int | |
46 | val getUserName : unit -> string | |
98a5f121 AC |
47 | |
48 | val dateString : unit -> string | |
f3f3ad24 AC |
49 | |
50 | val grandfatherUsers : unit -> unit | |
93f77ca7 | 51 | end |