Socket
Socket
Sign inDemoInstall

layer-api

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

layer-api - npm Package Compare versions

Comparing version 1.1.0 to 2.0.0

29

lib/resources/conversations.js

@@ -56,9 +56,8 @@ 'use strict';

if (!userId) return callback(new Error(utils.i18n.conversations.userId));
var conversationUUID = null;
if (typeof conversationId === 'function') callback = conversationId;
else conversationUUID = utils.toUUID(conversationId);
utils.debug('Conversation getFromUser: ' + userId + ', ' + conversationUUID);
conversationId = utils.toUUID(conversationId);
if (!conversationId) return callback(new Error(utils.i18n.conversations.id));
utils.debug('Conversation getFromUser: ' + userId + ', ' + conversationId);
request.get({
path: '/users/' + querystring.escape(userId) + '/conversations' + (conversationUUID ? '/' + conversationUUID : '')
path: '/users/' + querystring.escape(userId) + '/conversations/' + conversationId
}, callback);

@@ -68,2 +67,22 @@ },

/**
* Retrieve all conversations from user
*
* @param {String} userId User ID
* @param {String} [params] Query parameters
* @param {Function} callback Callback function
*/
getAllFromUser: function(userId, params, callback) {
if (!userId) return callback(new Error(utils.i18n.conversations.userId));
utils.debug('Conversation getAllFromUser: ' + userId);
var queryParams = '';
if (typeof params === 'function') callback = params;
else queryParams = '?' + querystring.stringify(params);
request.get({
path: '/users/' + querystring.escape(userId) + '/conversations' + queryParams
}, callback);
},
/**
* Edit a conversation

@@ -70,0 +89,0 @@ *

41

lib/resources/messages.js

@@ -41,4 +41,5 @@ 'use strict';

*/
sendTextFromUser: fromUser,
sendTexFromUser: fromUser, // Deprecated
sendTextFromUser: function(conversationId, userId, text, callback) {
send(null, conversationId, utils.messageText('user_id', userId, text), callback);
},

@@ -53,4 +54,5 @@ /**

*/
sendTextFromName: fromName,
sendTexFromName: fromName, // Deprecated
sendTextFromName: function(conversationId, name, text, callback) {
send(null, conversationId, utils.messageText('name', name, text), callback);
},

@@ -61,5 +63,6 @@ /**

* @param {String} conversationId Conversation ID
* @param {String} [params] Query parameters
* @param {Function} callback Callback function
*/
getAll: function(conversationId, callback) {
getAll: function(conversationId, params, callback) {
conversationId = utils.toUUID(conversationId);

@@ -69,5 +72,9 @@ if (!conversationId) return callback(new Error(utils.i18n.messages.cid));

var queryParams = '';
if (typeof params === 'function') callback = params;
else queryParams = '?' + querystring.stringify(params);
request.get({
path: '/conversations/' + conversationId + '/messages'
}, callback || utils.nop);
path: '/conversations/' + conversationId + '/messages' + queryParams
}, callback);
},

@@ -80,5 +87,6 @@

* @param {String} conversationId Conversation ID
* @param {String} [params] Query parameters
* @param {Function} callback Callback function
*/
getAllFromUser: function(userId, conversationId, callback) {
getAllFromUser: function(userId, conversationId, params, callback) {
if (!userId) return callback(new Error(utils.i18n.messages.userId));

@@ -89,5 +97,9 @@ conversationId = utils.toUUID(conversationId);

var queryParams = '';
if (typeof params === 'function') callback = params;
else queryParams = '?' + querystring.stringify(params);
request.get({
path: '/users/' + querystring.escape(userId) + '/conversations/' + conversationId + '/messages'
}, callback || utils.nop);
path: '/users/' + querystring.escape(userId) + '/conversations/' + conversationId + '/messages' + queryParams
}, callback);
},

@@ -110,13 +122,6 @@

path: '/users/' + querystring.escape(userId) + '/messages/' + messageId
}, callback || utils.nop);
}, callback);
}
};
function fromUser(conversationId, userId, text, callback) {
send(null, conversationId, utils.messageText('user_id', userId, text), callback);
}
function fromName(conversationId, name, text, callback) {
send(null, conversationId, utils.messageText('name', name, text), callback);
}
function send(dedupe, conversationId, body, callback) {

@@ -123,0 +128,0 @@ if (dedupe !== null && !utils.toUUID(dedupe)) return callback(new Error(utils.i18n.dedupe));

{
"name": "layer-api",
"version": "1.1.0",
"version": "2.0.0",
"description": "Node.js library, which provides a wrapper for the Layer Platform API",

@@ -23,8 +23,8 @@ "publishConfig": {

"mocha": "^2.4.5",
"nock": "^2.18.2",
"should": "^7.1.1"
"nock": "^7.2.2",
"should": "^8.2.2"
},
"dependencies": {
"bluebird": "^2.10.2"
"bluebird": "^3.3.2"
}
}

@@ -112,5 +112,5 @@ # Layer API for node.js

### conversations.getFromUser(uid, [cid], callback)
### conversations.getFromUser(uid, cid, callback)
[Retrieve](https://developer.layer.com/docs/platform#retrieve-a-conversation) an existing Conversation by providing user ID and optional specific conversation ID. Response `body` will result in conversation object representation.
[Retrieve](https://developer.layer.com/docs/platform#retrieve-a-conversation) an existing Conversation by providing user ID and conversation ID. Response `body` will result in conversation object representation.

@@ -120,3 +120,3 @@ ##### Arguments

- `uid` - User ID
- `cid` - *Optional* Conversation ID
- `cid` - Conversation ID
- `callback(err, res)` - Callback function returns an error and response objects

@@ -137,2 +137,30 @@

### conversations.getAllFromUser(uid, [params], callback)
[Retrieve](https://developer.layer.com/docs/platform#retrieve-a-conversation) all Conversations by providing user ID. Response `body` will result in an array of conversation objects.
##### Arguments
- `uid` - User ID
- `params` - *Optional* Query parameters can contain `page_size`, `from_id` and `sort_by`
- `callback(err, res)` - Callback function returns an error and response objects
##### Examples
```javascript
var params = {
page_size: 50,
from_id: cid,
sort_by: 'last_message' // `created_at` or `last_message`
};
layer.conversations.getAllFromUser(uid, params, function(err, res) {
if (err) return console.error(err);
// conversation data
var conversation = res.body;
});
```
---------------------------------------
### conversations.edit(cid, operations, [callback])

@@ -152,3 +180,3 @@

var operations = [
{"operation": "add", "property": "participants", "value": "user1"}
{operation: 'add', property: 'participants', value: 'user1'}
];

@@ -251,3 +279,3 @@ layer.conversations.edit(cid, operations, function(err, res) {

### messages.getAll(cid, [callback])
### messages.getAll(cid, [params], callback)

@@ -259,2 +287,3 @@ [Retrieve](https://developer.layer.com/docs/platform#retrieving-messages) all messages in a conversation by providing `cid`. Response `body` will result in array of messages.

- `cid` - Conversation ID
- `params` - *Optional* Query parameters can contain `page_size`, `from_id` and `sort_by`
- `callback(err, res)` - Callback function returns an error and response objects

@@ -265,3 +294,8 @@

```javascript
layer.messages.getAll(cid, function(err, res) {
var params = {
page_size: 50,
from_id: messageId,
sort_by: 'last_message' // `created_at` or `last_message`
};
layer.messages.getAll(cid, params, function(err, res) {
if (err) return console.error(err);

@@ -273,3 +307,3 @@

### messages.getAllFromUser(userId, cid, [callback])
### messages.getAllFromUser(userId, cid, [params], callback)

@@ -282,2 +316,3 @@ Retrieve all messages in a conversation from a specific user by providing `userId` and `cid`. Response `body` will result in array of messages.

- `cid` - Conversation ID
- `params` - *Optional* Query parameters can contain `page_size`, `from_id` and `sort_by`
- `callback(err, res)` - Callback function returns an error and response objects

@@ -284,0 +319,0 @@

@@ -110,4 +110,22 @@ /*globals describe it*/

describe('Retrieving a conversation by user ID', function() {
describe('Retrieving a conversation by user ID and conversation ID', function() {
nock('https://api.layer.com')
.get('/apps/' + fixtures.appId + '/users/' + fixtures.conversations.userid + '/conversations/' + fixtures.conversations.uuid)
.reply(200, fixtures.conversations.success);
it('should return a conversation object', function(done) {
layerAPI.conversations.getFromUser(fixtures.conversations.userid, fixtures.conversations.uuid, function(err, res) {
should.not.exist(err);
should.exist(res);
res.status.should.be.eql(200);
res.body.should.have.properties(fixtures.conversations.success);
done(err);
});
});
});
describe('Retrieving all conversations by user ID', function() {
nock('https://api.layer.com')
.get('/apps/' + fixtures.appId + '/users/' + fixtures.conversations.userid + '/conversations')

@@ -117,3 +135,3 @@ .reply(200, fixtures.conversations.success);

it('should return a conversation object', function(done) {
layerAPI.conversations.getFromUser(fixtures.conversations.userid, function(err, res) {
layerAPI.conversations.getAllFromUser(fixtures.conversations.userid, function(err, res) {
should.not.exist(err);

@@ -130,9 +148,19 @@ should.exist(res);

describe('Retrieving a conversation by user ID and conversation ID', function() {
describe('Retrieving all conversations by user ID with query parameters', function() {
nock('https://api.layer.com')
.get('/apps/' + fixtures.appId + '/users/' + fixtures.conversations.userid + '/conversations/' + fixtures.conversations.uuid)
.get('/apps/' + fixtures.appId + '/users/' + fixtures.conversations.userid + '/conversations')
.query({
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
})
.reply(200, fixtures.conversations.success);
it('should return a conversation object', function(done) {
layerAPI.conversations.getFromUser(fixtures.conversations.userid, fixtures.conversations.uuid, function(err, res) {
var params = {
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
};
layerAPI.conversations.getAllFromUser(fixtures.conversations.userid, params, function(err, res) {
should.not.exist(err);

@@ -139,0 +167,0 @@ should.exist(res);

@@ -154,2 +154,29 @@ /*globals describe it*/

describe('Retrieving all messages in a conversation from a user with query parameters', function() {
nock('https://api.layer.com')
.get('/apps/' + fixtures.appId + '/users/12345/conversations/' + fixtures.conversations.uuid + '/messages')
.query({
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
})
.reply(200, [fixtures.messages.success]);
it('should return array of messages', function(done) {
var params = {
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
};
layerAPI.messages.getAllFromUser(12345, fixtures.conversations.uuid, params, function(err, res) {
should.not.exist(err);
should.exist(res);
res.body.length.should.be.eql(1);
done();
});
});
});
describe('Retrieving messages in a conversation', function() {

@@ -172,2 +199,29 @@ nock('https://api.layer.com')

describe('Retrieving messages in a conversation with query parameters', function() {
nock('https://api.layer.com')
.get('/apps/' + fixtures.appId + '/conversations/' + fixtures.conversations.uuid + '/messages')
.query({
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
})
.reply(200, [fixtures.messages.success]);
it('should return array of messages', function(done) {
var params = {
page_size: 50,
from_id: fixtures.conversations.uuid,
sort_by: 'last_message'
};
layerAPI.messages.getAll(fixtures.conversations.uuid, params, function(err, res) {
should.not.exist(err);
should.exist(res);
res.body.length.should.be.eql(1);
done();
});
});
});
describe('Retrieving a messages in a conversation from a user', function() {

@@ -174,0 +228,0 @@ nock('https://api.layer.com')

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc