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.
220 lines
9.1 KiB
220 lines
9.1 KiB
/**
|
|
@module resources/task_router/Workspaces
|
|
The Twilio TaskRouter "Workspaces" Resource.
|
|
*/
|
|
var generate = require('../generate');
|
|
|
|
module.exports = function (client) {
|
|
var baseResourceUrl = '/Workspaces';
|
|
|
|
//Instance requests
|
|
function Workspaces(sid) {
|
|
var resourceApi = {};
|
|
|
|
//Add standard instance resource functions
|
|
generate.restFunctions(resourceApi, client, ['DELETE', 'GET', 'POST', {update: 'POST'}], baseResourceUrl + '/' + sid);
|
|
|
|
//Add activities sub-resource
|
|
resourceApi.activities = function(activitySid) {
|
|
var activityResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Activities/' + activitySid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Activities/' + activitySid),
|
|
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/Activities/' + activitySid)
|
|
};
|
|
|
|
//Aliases
|
|
activityResourceApi.update = activityResourceApi.post;
|
|
|
|
return activityResourceApi;
|
|
};
|
|
|
|
resourceApi.activities.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Activities');
|
|
resourceApi.activities.post = generate(client, 'POST', baseResourceUrl + '/' + sid + '/Activities');
|
|
|
|
//Aliases
|
|
resourceApi.activities.list = resourceApi.activities.get;
|
|
resourceApi.activities.create = resourceApi.activities.post;
|
|
|
|
//Add events sub-resource
|
|
resourceApi.events = function(eventSid) {
|
|
var eventResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Events/' + eventSid)
|
|
};
|
|
|
|
return eventResourceApi;
|
|
};
|
|
|
|
resourceApi.events.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Events');
|
|
|
|
//Aliases
|
|
resourceApi.events.list = resourceApi.events.get;
|
|
|
|
//Add tasks sub-resource
|
|
resourceApi.tasks = function(taskSid) {
|
|
var taskResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid),
|
|
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid)
|
|
};
|
|
|
|
//Aliases
|
|
taskResourceApi.update = taskResourceApi.post;
|
|
|
|
// Add reservation sub-resource
|
|
taskResourceApi.reservations = function(reservationSid) {
|
|
var reservationResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid + '/Reservations/' + reservationSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid + '/Reservations/' + reservationSid)
|
|
};
|
|
|
|
//Aliases
|
|
reservationResourceApi.update = reservationResourceApi.post;
|
|
|
|
return reservationResourceApi;
|
|
};
|
|
|
|
taskResourceApi.reservations.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Tasks/' + taskSid + '/Reservations');
|
|
|
|
//Aliases
|
|
taskResourceApi.reservations.list = taskResourceApi.reservations.get;
|
|
|
|
return taskResourceApi;
|
|
};
|
|
|
|
resourceApi.tasks.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Tasks');
|
|
resourceApi.tasks.post = generate(client, 'POST', baseResourceUrl + '/' + sid + '/Tasks');
|
|
|
|
//Aliases
|
|
resourceApi.tasks.list = resourceApi.tasks.get;
|
|
resourceApi.tasks.create = resourceApi.tasks.post;
|
|
|
|
//Add taskQueues sub-resource
|
|
resourceApi.taskQueues = function(taskQueueSid) {
|
|
var taskQueueResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/TaskQueues/' + taskQueueSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/TaskQueues/' + taskQueueSid),
|
|
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/TaskQueues/' + taskQueueSid)
|
|
};
|
|
|
|
//Aliases
|
|
taskQueueResourceApi.update = taskQueueResourceApi.post;
|
|
|
|
// Statistics
|
|
taskQueueResourceApi.statistics = function() {
|
|
return {};
|
|
}
|
|
|
|
taskQueueResourceApi.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/TaskQueues/' + taskQueueSid + '/Statistics');
|
|
|
|
return taskQueueResourceApi;
|
|
};
|
|
|
|
resourceApi.taskQueues.statistics = function() {
|
|
return {};
|
|
}
|
|
|
|
resourceApi.taskQueues.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/TaskQueues/Statistics');
|
|
resourceApi.taskQueues.statistics.list = resourceApi.taskQueues.statistics.get;
|
|
|
|
resourceApi.taskQueues.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/TaskQueues');
|
|
resourceApi.taskQueues.post = generate(client, 'POST', baseResourceUrl + '/' + sid + '/TaskQueues');
|
|
|
|
//Aliases
|
|
resourceApi.taskQueues.list = resourceApi.taskQueues.get;
|
|
resourceApi.taskQueues.create = resourceApi.taskQueues.post;
|
|
|
|
//Add workers sub-resource
|
|
resourceApi.workers = function(workerSid) {
|
|
var workerResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers/' + workerSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Workers/' + workerSid),
|
|
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/Workers/' + workerSid)
|
|
};
|
|
|
|
//Aliases
|
|
workerResourceApi.update = workerResourceApi.post;
|
|
|
|
// Statistics
|
|
workerResourceApi.statistics = function() {
|
|
return {};
|
|
}
|
|
|
|
workerResourceApi.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers/' + workerSid + '/Statistics');
|
|
|
|
// Reservations
|
|
workerResourceApi.reservations = function(reservationSid) {
|
|
var reservationResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers/' + workerSid + '/Reservations/' + reservationSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Workers/' + workerSid + '/Reservations/' + reservationSid)
|
|
};
|
|
|
|
//Aliases
|
|
reservationResourceApi.update = reservationResourceApi.post;
|
|
return reservationResourceApi;
|
|
};
|
|
|
|
workerResourceApi.reservations.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers/' + workerSid + '/Reservations');
|
|
|
|
//Aliases
|
|
workerResourceApi.reservations.list = workerResourceApi.reservations.get;
|
|
|
|
return workerResourceApi;
|
|
};
|
|
|
|
resourceApi.workers.statistics = function() {
|
|
return {};
|
|
}
|
|
|
|
resourceApi.workers.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers' + '/Statistics');
|
|
resourceApi.workers.statistics.list = resourceApi.workers.statistics.get;
|
|
|
|
resourceApi.workers.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workers');
|
|
resourceApi.workers.post = generate(client, 'POST', baseResourceUrl + '/' + sid + '/Workers');
|
|
|
|
//Aliases
|
|
resourceApi.workers.list = resourceApi.workers.get;
|
|
resourceApi.workers.create = resourceApi.workers.post;
|
|
|
|
//Add workflows sub-resource
|
|
resourceApi.workflows = function(workflowSid) {
|
|
var workflowResourceApi = {
|
|
get: generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workflows/' + workflowSid),
|
|
post: generate(client, 'POST', baseResourceUrl + '/' + sid + '/Workflows/' + workflowSid),
|
|
delete: generate(client, 'DELETE', baseResourceUrl + '/' + sid + '/Workflows/' + workflowSid)
|
|
};
|
|
|
|
//Aliases
|
|
workflowResourceApi.update = workflowResourceApi.post;
|
|
|
|
workflowResourceApi.statistics = function() {
|
|
return {};
|
|
};
|
|
|
|
workflowResourceApi.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workflows/' + workflowSid + '/Statistics');
|
|
|
|
return workflowResourceApi;
|
|
};
|
|
|
|
resourceApi.workflows.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Workflows');
|
|
resourceApi.workflows.post = generate(client, 'POST', baseResourceUrl + '/' + sid + '/Workflows');
|
|
|
|
//Aliases
|
|
resourceApi.workflows.list = resourceApi.workflows.get;
|
|
resourceApi.workflows.create = resourceApi.workflows.post;
|
|
|
|
// Statistics
|
|
resourceApi.statistics = function() {
|
|
return {};
|
|
}
|
|
|
|
resourceApi.statistics.get = generate(client, 'GET', baseResourceUrl + '/' + sid + '/Statistics');
|
|
|
|
return resourceApi;
|
|
}
|
|
|
|
//List requests
|
|
generate.restFunctions(Workspaces, client, ['GET', 'POST', {create: 'POST'}], baseResourceUrl);
|
|
|
|
return Workspaces;
|
|
};
|