Add all-balance summing and listing of retired balances
[hcoop/zz_old/portal.git] / init.sig
index 40db908..5c98e17 100644 (file)
--- a/init.sig
+++ b/init.sig
@@ -11,12 +11,15 @@ signature INIT = sig
     val emailSuffix : string
 
     type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp,
-                app : int}
+                app : int, shares : int}
 
     val rowError : string * C.value list -> 'a
 
     val mkUserRow : C.value list -> user
 
+    (* Direct access to database connections *)
+    val conn : unit -> C.conn
+
     (* Open or close a session, wrapped in a transaction *)
     val init : unit -> unit
     val done : unit -> unit
@@ -27,10 +30,11 @@ signature INIT = sig
 
     val lookupUser : int -> user
     val listUsers : unit -> user list
-    val addUser : string * string * int * int -> int
-    (* Pass name, real name, and balance ID *)
+    val addUser : string * string * int * int * int -> int
+    (* Pass name, real name, balance ID, and share count *)
     val modUser : user -> unit
     val deleteUser : int -> string
+    val byPledge : unit -> user list
 
     val validUsername : string -> bool
     val userNameToId : string -> int option
@@ -44,4 +48,14 @@ signature INIT = sig
     val dateString : unit -> string
 
     val grandfatherUsers : unit -> unit
+
+    type node = {id : int, name : string, descr : string, debian : string}
+
+    val listNodes : unit -> node list
+    val nodeName : int -> string
+    val nodeDebian : int -> string
+
+    val explain : exn -> string
+    val tokens : unit -> string
+    val tokensForked : unit -> unit
 end