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