You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.7 KiB

/**
@module resources/Calls
The Twilio "Calls" Resource.
*/
var generate = require('./generate');
var ListInstanceResource = require('./ListInstanceResource');
module.exports = function (client, accountSid) {
var baseResourceUrl = '/Accounts/' + accountSid + '/Calls';
//Instance requests
function Calls(sid) {
var resourceApi = {};
//Add standard instance resource functions
generate.restFunctions(resourceApi, client, ['GET', 'POST', 'DELETE', {update: 'POST'}], baseResourceUrl + '/' + sid);
//Add in subresources
resourceApi.recordings = {
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Recordings')
};
resourceApi.notifications = {
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Notifications')
};
resourceApi.recordings.list = resourceApi.recordings.get;
resourceApi.notifications.list = resourceApi.notifications.get;
resourceApi.feedback = {
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Feedback'),
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Feedback'),
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/Feedback')
};
resourceApi.feedback.create = resourceApi.feedback.post;
return resourceApi;
}
//List requests
generate.restFunctions(Calls, client, ['GET', 'POST', {create: 'POST'}], baseResourceUrl);
// Create ListInstanceResource for FeedbackSummary sub-resource
Calls.feedbackSummary = ListInstanceResource(client, accountSid,
'Calls/FeedbackSummary',
['GET', 'DELETE'],
['POST', {create:'POST'}]
);
return Calls;
};