Commit | Line | Data |
---|---|---|
208e2cbc AC |
1 | signature INIT = sig |
2 | structure C : SQL_CLIENT | |
3 | ||
4 | exception Access of string | |
5 | ||
6 | type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp} | |
7 | ||
ee587f7f AC |
8 | val rowError : string * C.value list -> 'a |
9 | ||
10 | val mkUserRow : C.value list -> user | |
208e2cbc AC |
11 | |
12 | (* Open or close a session, wrapped in a transaction *) | |
13 | val init : unit -> unit | |
14 | val done : unit -> unit | |
15 | ||
ee587f7f | 16 | val nextSeq : C.conn * string -> int |
208e2cbc AC |
17 | |
18 | (* Fun with users *) | |
19 | ||
20 | val lookupUser : int -> user | |
21 | val listUsers : unit -> user list | |
22 | val addUser : string * string * int -> int | |
23 | (* Pass name, real name, and balance ID *) | |
24 | val modUser : user -> unit | |
25 | val deleteUser : int -> string | |
26 | ||
27 | val validUsername : string -> bool | |
28 | val userNameToId : string -> int option | |
29 | ||
30 | val getDb : unit -> C.conn | |
31 | ||
32 | val getUser : unit -> user | |
33 | val getUserId : unit -> int | |
34 | val getUserName : unit -> string | |
35 | end |