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 modUser : user -> unit
val deleteUser : int -> string
val byPledge : unit -> user list
- val unmigratedUsers : unit -> user list
val validUsername : string -> bool
val userNameToId : string -> int option
val dateString : unit -> string
- val grandfatherUsers : unit -> unit
-
type node = {id : int, name : string, descr : string, debian : string}
val listNodes : unit -> node 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