@@ -31,7 +31,7 @@ export interface ContactsModule {
3131 /**
3232 * Fetches the given contact and returns available information
3333 * @param uri - The URI of the contact to read
34- * @return Contact name, email addresses and phone numbers
34+ * @return FullContact name, email addresses and phone numbers
3535 */
3636 readContact ( uri : string ) : Promise < FullContact > ;
3737
@@ -44,6 +44,13 @@ export interface ContactsModule {
4444 addressBookUri,
4545 groupName,
4646 } : CreateNewGroupCommand ) : Promise < string > ;
47+
48+ /**
49+ * Fetches the given group and returns available information
50+ * @param uri - The URI of the contact to read
51+ * @return FullGroup name and list of group members
52+ */
53+ readGroup ( uri : string ) : Promise < FullGroup > ;
4754}
4855
4956/**
@@ -94,10 +101,16 @@ export interface AddressBook {
94101}
95102
96103/**
97- * Partial contact data listed when reading an address book
104+ * Partial contact data listed when reading an address book or a group
98105 */
99106export interface Contact {
107+ /**
108+ * The URI identifying the contact
109+ */
100110 uri : string ;
111+ /**
112+ * The human-readable name of the contact
113+ */
101114 name : string ;
102115}
103116
@@ -130,7 +143,34 @@ export interface PhoneNumber {
130143/**
131144 * Partial group data listed when reading an address book
132145 */
133- export interface Group { }
146+ export interface Group {
147+ /**
148+ * The URI identifying the group
149+ */
150+ uri : string ;
151+ /**
152+ * The human-readable name of the group
153+ */
154+ name : string ;
155+ }
156+
157+ /**
158+ * Extensive contact data returned when reading a contact
159+ */
160+ export interface FullGroup {
161+ /**
162+ * The URI identifying the group
163+ */
164+ uri : string ;
165+ /**
166+ * The human-readable name of the group
167+ */
168+ name : string ;
169+ /**
170+ * List of group members
171+ */
172+ members : Contact [ ] ;
173+ }
134174
135175/**
136176 * Data needed to create a new group within an address book
0 commit comments