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;
 | 
						|
};
 |