X-Git-Url: http://git.hcoop.net/hcoop/portal.git/blobdiff_plain/edeb626ea2f306ad8a1f021ed3a001a5b7a6bcc6..3b54a6660b3834d3c47d86cdcf6d039609772a26:/init.sig?ds=sidebyside diff --git a/init.sig b/init.sig index b2b4178..0b557de 100644 --- a/init.sig +++ b/init.sig @@ -1,16 +1,27 @@ 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 boardEmail : string exception Access of string + exception NeedTos - type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp} + val emailSuffix : string + + type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp, + app : int, shares : int, paypal : string option, checkout : string option } 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 @@ -21,10 +32,11 @@ signature INIT = sig val lookupUser : int -> user val listUsers : unit -> user list - val addUser : string * string * 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 @@ -34,4 +46,25 @@ signature INIT = sig val getUser : unit -> user val getUserId : unit -> int val getUserName : unit -> string -end \ No newline at end of file + + val dateString : unit -> string + + 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 + + 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