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
			| 
											3 years ago
										 | /** | ||
|  |  @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; | ||
|  | }; |