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.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							1.2 KiB
						
					
					
				/**
 | 
						|
 @module resources/ListInstanceResource
 | 
						|
 | 
						|
 Most Twilio REST resources follow a "List/Instance" model, where there is a single resource
 | 
						|
 like:
 | 
						|
 | 
						|
 /Accounts/{SID}/Calls
 | 
						|
 | 
						|
 which can be POSTed to or GETed to create a new instance, or query existing resources, etc.
 | 
						|
 Simlarly, these resources also have an "instance", which looks like:
 | 
						|
 | 
						|
 /Accounts/{SID}/Calls/{some unique identifier}
 | 
						|
 | 
						|
 Which can get GETed or maybe POSTed.  For these relative simple/similar resources, this module
 | 
						|
 will generate a consistent REST interface for whatever methods the resource supports
 | 
						|
 */
 | 
						|
var generate = require('./generate');
 | 
						|
 | 
						|
module.exports = function (client, accountSid, resourceName, instanceMethods, listMethods) {
 | 
						|
    var baseResourceUrl = '/Accounts/' + accountSid + '/' + resourceName;
 | 
						|
 | 
						|
    function Resource(instanceId) {
 | 
						|
        var resourceApi = {};
 | 
						|
        generate.restFunctions(resourceApi, client, instanceMethods, '/Accounts/' + accountSid + '/' + resourceName + '/' + instanceId);
 | 
						|
        return resourceApi;
 | 
						|
    }
 | 
						|
 | 
						|
    //generate rest functions for base resource
 | 
						|
    generate.restFunctions(Resource, client, listMethods, baseResourceUrl);
 | 
						|
 | 
						|
    //expose base url
 | 
						|
    Resource.baseResourceUrl = baseResourceUrl;
 | 
						|
 | 
						|
    return Resource;
 | 
						|
};
 |