Fix some money bugs and add equalizeBalances
[hcoop/portal.git] / init.sig
CommitLineData
208e2cbc
AC
1signature INIT = sig
2 structure C : SQL_CLIENT
3
edeb626e 4 val urlPrefix : string
6f91863c 5 val boardEmail : string
edeb626e 6
208e2cbc
AC
7 exception Access of string
8
9 type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp}
10
ee587f7f
AC
11 val rowError : string * C.value list -> 'a
12
13 val mkUserRow : C.value list -> user
208e2cbc
AC
14
15 (* Open or close a session, wrapped in a transaction *)
16 val init : unit -> unit
17 val done : unit -> unit
18
ee587f7f 19 val nextSeq : C.conn * string -> int
208e2cbc
AC
20
21 (* Fun with users *)
22
23 val lookupUser : int -> user
24 val listUsers : unit -> user list
25 val addUser : string * string * int -> int
26 (* Pass name, real name, and balance ID *)
27 val modUser : user -> unit
28 val deleteUser : int -> string
29
30 val validUsername : string -> bool
31 val userNameToId : string -> int option
32
33 val getDb : unit -> C.conn
34
35 val getUser : unit -> user
36 val getUserId : unit -> int
37 val getUserName : unit -> string
98a5f121
AC
38
39 val dateString : unit -> string
208e2cbc 40end