X-Git-Url: https://git.hcoop.net/hcoop/zz_old/portal.git/blobdiff_plain/369e1577bf72be99dcbb142fe605e5b4e6548102..20acb9257f2b32de71c09455c77f758df1d99b1c:/init.sig diff --git a/init.sig b/init.sig index 08c29dd..303e1be 100644 --- a/init.sig +++ b/init.sig @@ -1,14 +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 + + val emailSuffix : string - type user = {id : int, name : string, rname : string, bal : int, joined : C.timestamp} + 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 @@ -19,10 +32,12 @@ 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 unmigratedUsers : unit -> user list val validUsername : string -> bool val userNameToId : string -> int option @@ -32,4 +47,26 @@ 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 + + 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 + + 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 +end