Initial revision
[hcoop/portal.git] / init.sig
CommitLineData
208e2cbc
AC
1signature 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
8 val mkUserRow : string list -> user
9
10 (* Open or close a session, wrapped in a transaction *)
11 val init : unit -> unit
12 val done : unit -> unit
13
14 val nextSeq : C.conn * string -> string
15
16 (* Fun with users *)
17
18 val lookupUser : int -> user
19 val listUsers : unit -> user list
20 val addUser : string * string * int -> int
21 (* Pass name, real name, and balance ID *)
22 val modUser : user -> unit
23 val deleteUser : int -> string
24
25 val validUsername : string -> bool
26 val userNameToId : string -> int option
27
28 val getDb : unit -> C.conn
29
30 val getUser : unit -> user
31 val getUserId : unit -> int
32 val getUserName : unit -> string
33end