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