Increase domain component length limit
[hcoop/zz_old/portal.git] / init.sig
CommitLineData
8d347a33 1signature INIT = sig
2 structure C : SQL_CLIENT
3
31b85852 4 val scratchDir : string
2eae496b 5 val urlPrefix : string
453d7579 6 val boardEmail : string
2eae496b 7
8d347a33 8 exception Access of string
5146e435 9 exception NeedTos
8d347a33 10
646dca75 11 val emailSuffix : string
12
5146e435 13 type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp,
892e3ea1 14 app : int, shares : int}
8d347a33 15
369e1577 16 val rowError : string * C.value list -> 'a
17
18 val mkUserRow : C.value list -> user
8d347a33 19
9d313c5f 20 (* Direct access to database connections *)
21 val conn : unit -> C.conn
22
8d347a33 23 (* Open or close a session, wrapped in a transaction *)
24 val init : unit -> unit
25 val done : unit -> unit
26
369e1577 27 val nextSeq : C.conn * string -> int
8d347a33 28
29 (* Fun with users *)
30
31 val lookupUser : int -> user
32 val listUsers : unit -> user list
892e3ea1 33 val addUser : string * string * int * int * int -> int
34 (* Pass name, real name, balance ID, and share count *)
8d347a33 35 val modUser : user -> unit
36 val deleteUser : int -> string
892e3ea1 37 val byPledge : unit -> user list
8d347a33 38
39 val validUsername : string -> bool
40 val userNameToId : string -> int option
41
42 val getDb : unit -> C.conn
43
44 val getUser : unit -> user
45 val getUserId : unit -> int
46 val getUserName : unit -> string
4b8df0b1 47
48 val dateString : unit -> string
5146e435 49
50 val grandfatherUsers : unit -> unit
646dca75 51end