payment: note that Stripe has instituted an additional 1% fee for non-US cards
[hcoop/portal.git] / contact.sig
index 8d7a2eb..1c11d72 100644 (file)
@@ -7,4 +7,22 @@ sig
     val modKind : kind -> unit
     val deleteKind : int -> unit
     val listKinds : unit -> kind list
+
+    datatype priv =
+            PUBLIC
+          | MEMBERS
+          | ADMINS
+    val privToInt : priv -> int
+    val privFromInt : int -> priv
+
+    type contact = {id :int, usr : int, knd : int, v : string, priv : priv}
+
+    val addContact : int * int * string * priv -> int
+    val lookupContact : int -> contact
+    val modContact : contact -> unit
+    val deleteContact : int -> unit
+    val listUserContacts : int * priv -> (kind * contact) list
+    val listContactsByKind : int * priv -> (string * contact) list
+
+    val format : kind * contact -> string
 end
\ No newline at end of file