Basic issue management
[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
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
35end