Explorar o código

Merge pull request #354 from pzia/master

contacts.add API to register contacts
JC Brand %!s(int64=10) %!d(string=hai) anos
pai
achega
90641a6145
Modificáronse 2 ficheiros con 29 adicións e 0 borrados
  1. 16 0
      converse.js
  2. 13 0
      docs/source/development.rst

+ 16 - 0
converse.js

@@ -5482,6 +5482,22 @@
                     return _transform(jids);
                     return _transform(jids);
                 }
                 }
                 return _.map(jids, _transform);
                 return _.map(jids, _transform);
+            },
+            'add': function (jid, name) {
+                if (typeof jid === "undefined") {
+                    throw new Error("Error: you must supply a jid");
+                }
+                if (typeof jid !== "string") {
+                    throw new Error('Error: wrong attribute (jid) type. Must be string.');
+                }
+                if (jid.indexOf('@') < 0) {
+                    throw new Error('Error: invalid jid ');
+                }
+                name = _.isEmpty(name)? jid: name;
+                converse.connection.roster.add(jid, name, [], function (iq) {
+                    converse.connection.roster.subscribe(jid, null, converse.xmppstatus.get('fullname'));
+                });
+                return true;
             }
             }
         },
         },
         'chats': {
         'chats': {

+ 13 - 0
docs/source/development.rst

@@ -272,6 +272,19 @@ The returned roster contact objects have these attributes:
 | vcard_updated  | When last the buddy's VCard was updated.                                                                                             |
 | vcard_updated  | When last the buddy's VCard was updated.                                                                                             |
 +----------------+--------------------------------------------------------------------------------------------------------------------------------------+
 +----------------+--------------------------------------------------------------------------------------------------------------------------------------+
 
 
+add
+~~~
+
+Add a contact.
+
+Provide the JID of the contact you want to add::
+
+    converse.chats.add('buddy@example.com')
+    
+You may also provide the fullname. If not present, we use the jid as fullname.
+
+    converse.chats.add('buddy@example.com', 'Buddy')
+
 "chats" grouping
 "chats" grouping
 ----------------
 ----------------