46b0c2df |
1 | signature CONTACT = |
2 | sig |
3 | type kind = {id :int, name : string, makeUrl : (string * string) option} |
4 | |
5 | val addKind : string * (string * string) option -> int |
6 | val lookupKind : int -> kind |
7 | val modKind : kind -> unit |
8 | val deleteKind : int -> unit |
9 | val listKinds : unit -> kind list |
369e1577 |
10 | |
11 | datatype priv = |
12 | PUBLIC |
13 | | MEMBERS |
14 | | ADMINS |
15 | val privToInt : priv -> int |
16 | val privFromInt : int -> priv |
17 | |
18 | type contact = {id :int, usr : int, knd : int, v : string, priv : priv} |
19 | |
20 | val addContact : int * int * string * priv -> int |
21 | val lookupContact : int -> contact |
22 | val modContact : contact -> unit |
23 | val deleteContact : int -> unit |
24 | val listUserContacts : int * priv -> (kind * contact) list |
45f95cf5 |
25 | val listContactsByKind : int * priv -> (string * contact) list |
369e1577 |
26 | |
27 | val format : kind * contact -> string |
46b0c2df |
28 | end |