signature INIT = sig
structure C : SQL_CLIENT
+ val nullableFromSql : (C.value -> 'a) -> C.value -> 'a option
+ val nullableToSql : ('a -> string) -> 'a option -> string
val scratchDir : string
val urlPrefix : string
val emailSuffix : string
type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp,
- app : int, shares : int}
+ app : int, shares : int, paypal : string option, checkout : string option }
val rowError : string * C.value list -> 'a
val dateString : unit -> string
- val grandfatherUsers : unit -> unit
-
type node = {id : int, name : string, descr : string, debian : string}
val listNodes : unit -> node list
val explain : exn -> string
val tokens : unit -> string
val tokensForked : unit -> unit
+
+ val usersDiff : string list * string list ->
+ {onlyInFirst : string list, onlyInSecond : string list}
+ val listUsernames : unit -> string list
+ val usersInAfs : unit -> string list
+
+ val searchPaypal : string -> user list
+ val searchCheckout : string -> user list
+ val searchRealName : string -> user list
end