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.

68 lines
2.0 KiB

3 years ago
var generate = require('../generate');
var NextGenListResource = require('../NextGenListResource');
module.exports = function(client) {
var baseUrl = '/Services'
function Services(sid) {
var resourceApi = {}
generate.restFunctions(resourceApi, client,
['GET', 'POST', 'DELETE', {update: 'POST'}],
baseUrl + '/' + sid
);
resourceApi.users = NextGenListResource(
client,
baseUrl + '/' + sid + '/Users',
['GET', 'POST', 'DELETE', {update: 'POST'}],
['GET', 'POST', {create: 'POST'}, {list: 'GET'}]
);
resourceApi.roles = NextGenListResource(
client,
baseUrl + '/' + sid + '/Roles',
['GET'],
['GET', {list: 'GET'}]
);
resourceApi.channels = function(channelSid) {
var channelApi = {}
generate.restFunctions(channelApi, client,
['GET', 'POST', 'DELETE', {update: 'POST'}],
baseUrl + '/' + sid + '/Channels/' + channelSid
);
channelApi.messages = NextGenListResource(
client,
baseUrl + '/' + sid + '/Channels/' + channelSid + '/Messages',
['GET', 'POST', 'DELETE', {update: 'POST'}],
['GET', 'POST', {create: 'POST'}, {list: 'GET'}]
);
channelApi.members = NextGenListResource(
client,
baseUrl + '/' + sid + '/Channels/' + channelSid + '/Members',
['GET', 'POST', 'DELETE', {update: 'POST'}],
['GET', 'POST', {create: 'POST'}, {list: 'GET'}]
);
return channelApi;
}
generate.restFunctions(resourceApi.channels, client,
['GET', 'POST', {create: 'POST'}, {list: 'GET'}],
baseUrl + '/' + sid + '/Channels'
);
return resourceApi;
}
generate.restFunctions(Services, client,
['GET', 'POST', {create: 'POST'}, {list: 'GET'}],
baseUrl
);
return Services;
}