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.
44 lines
1.4 KiB
44 lines
1.4 KiB
3 years ago
|
var inherits = require('util').inherits;
|
||
|
var TaskRouterCapability = require('./TaskRouterCapability');
|
||
|
|
||
|
function TaskRouterWorkerCapability(accountSid, authToken, workspaceSid, workerSid) {
|
||
|
TaskRouterCapability.call(this, accountSid, authToken, workspaceSid, workerSid);
|
||
|
|
||
|
this.reservationsUrl = this._baseUrl + "/Tasks/**";
|
||
|
this.activityUrl = this._baseUrl + "/Activities";
|
||
|
this.workerReservationsUrl = this._resourceUrl + "/Reservations/**";
|
||
|
|
||
|
// add permissions fo fetch the list of activities, tasks and worker reservations
|
||
|
this.allow(this.activityUrl, "GET");
|
||
|
this.allow(this.reservationsUrl, "GET");
|
||
|
this.allow(this.workerReservationsUrl, "GET");
|
||
|
}
|
||
|
inherits(TaskRouterWorkerCapability, TaskRouterCapability);
|
||
|
|
||
|
TaskRouterWorkerCapability.prototype._setupResource = function() {
|
||
|
this._resourceUrl = this._baseUrl + '/Workers/' + this.channelId;
|
||
|
}
|
||
|
|
||
|
TaskRouterWorkerCapability.prototype.allowActivityUpdates = function() {
|
||
|
this.allow(
|
||
|
this._resourceUrl,
|
||
|
"POST",
|
||
|
{},
|
||
|
{"ActivitySid": {'required': true}});
|
||
|
}
|
||
|
|
||
|
TaskRouterWorkerCapability.prototype.allowReservationUpdates = function() {
|
||
|
this.allow(
|
||
|
this.reservationsUrl,
|
||
|
"POST",
|
||
|
{},
|
||
|
{});
|
||
|
this.allow(
|
||
|
this.workerReservationsUrl,
|
||
|
"POST",
|
||
|
{},
|
||
|
{});
|
||
|
}
|
||
|
|
||
|
module.exports = TaskRouterWorkerCapability;
|