twilio 3.75.0 → 3.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,7 @@ import Domain = require('../base/Domain');
9
9
  import Twilio = require('./Twilio');
10
10
  import V1 = require('./media/V1');
11
11
  import { MediaProcessorListInstance } from './media/v1/mediaProcessor';
12
+ import { MediaRecordingListInstance } from './media/v1/mediaRecording';
12
13
  import { PlayerStreamerListInstance } from './media/v1/playerStreamer';
13
14
 
14
15
 
@@ -21,6 +22,7 @@ declare class Media extends Domain {
21
22
  constructor(twilio: Twilio);
22
23
 
23
24
  readonly mediaProcessor: MediaProcessorListInstance;
25
+ readonly mediaRecording: MediaRecordingListInstance;
24
26
  readonly playerStreamer: PlayerStreamerListInstance;
25
27
  readonly v1: V1;
26
28
  }
package/lib/rest/Media.js CHANGED
@@ -23,6 +23,8 @@ var V1 = require('./media/V1'); /* jshint ignore:line */
23
23
  * @property {Twilio.Media.V1} v1 - v1 version
24
24
  * @property {Twilio.Media.V1.MediaProcessorList} mediaProcessor -
25
25
  * mediaProcessor resource
26
+ * @property {Twilio.Media.V1.MediaRecordingList} mediaRecording -
27
+ * mediaRecording resource
26
28
  * @property {Twilio.Media.V1.PlayerStreamerList} playerStreamer -
27
29
  * playerStreamer resource
28
30
  *
@@ -54,6 +56,13 @@ Object.defineProperty(Media.prototype,
54
56
  }
55
57
  });
56
58
 
59
+ Object.defineProperty(Media.prototype,
60
+ 'mediaRecording', {
61
+ get: function() {
62
+ return this.v1.mediaRecording;
63
+ }
64
+ });
65
+
57
66
  Object.defineProperty(Media.prototype,
58
67
  'playerStreamer', {
59
68
  get: function() {
@@ -16,7 +16,7 @@ import { TranscriptionListInstance } from './recording/transcription';
16
16
 
17
17
  type RecordingSource = 'DialVerb'|'Conference'|'OutboundAPI'|'Trunking'|'RecordVerb'|'StartCallRecordingAPI'|'StartConferenceRecordingAPI';
18
18
 
19
- type RecordingStatus = 'in-progress'|'paused'|'stopped'|'processing'|'completed'|'absent';
19
+ type RecordingStatus = 'in-progress'|'paused'|'stopped'|'processing'|'completed'|'absent'|'deleted';
20
20
 
21
21
  /**
22
22
  * Initialize the RecordingList
@@ -26,6 +26,15 @@ type RecordingStatus = 'in-progress'|'paused'|'stopped'|'processing'|'completed'
26
26
  */
27
27
  declare function RecordingList(version: V2010, accountSid: string): RecordingListInstance;
28
28
 
29
+ /**
30
+ * Options to pass to fetch
31
+ *
32
+ * @property includeSoftDeleted - A boolean parameter indicating whether to retrieve soft deleted recordings or not.
33
+ */
34
+ interface RecordingInstanceFetchOptions {
35
+ includeSoftDeleted?: boolean;
36
+ }
37
+
29
38
  interface RecordingListInstance {
30
39
  /**
31
40
  * @param sid - sid of instance
@@ -151,6 +160,7 @@ interface RecordingListInstance {
151
160
  * @property dateCreatedAfter - Only include recordings that were created on this date
152
161
  * @property dateCreatedBefore - Only include recordings that were created on this date
153
162
  * @property done - Function to be called upon completion of streaming
163
+ * @property includeSoftDeleted - A boolean parameter indicating whether to retrieve soft deleted recordings or not.
154
164
  * @property limit -
155
165
  * Upper limit for the number of records to return.
156
166
  * each() guarantees never to return more than limit.
@@ -170,6 +180,7 @@ interface RecordingListInstanceEachOptions {
170
180
  dateCreatedAfter?: Date;
171
181
  dateCreatedBefore?: Date;
172
182
  done?: Function;
183
+ includeSoftDeleted?: boolean;
173
184
  limit?: number;
174
185
  pageSize?: number;
175
186
  }
@@ -182,6 +193,7 @@ interface RecordingListInstanceEachOptions {
182
193
  * @property dateCreated - Only include recordings that were created on this date
183
194
  * @property dateCreatedAfter - Only include recordings that were created on this date
184
195
  * @property dateCreatedBefore - Only include recordings that were created on this date
196
+ * @property includeSoftDeleted - A boolean parameter indicating whether to retrieve soft deleted recordings or not.
185
197
  * @property limit -
186
198
  * Upper limit for the number of records to return.
187
199
  * list() guarantees never to return more than limit.
@@ -199,6 +211,7 @@ interface RecordingListInstanceOptions {
199
211
  dateCreated?: Date;
200
212
  dateCreatedAfter?: Date;
201
213
  dateCreatedBefore?: Date;
214
+ includeSoftDeleted?: boolean;
202
215
  limit?: number;
203
216
  pageSize?: number;
204
217
  }
@@ -211,6 +224,7 @@ interface RecordingListInstanceOptions {
211
224
  * @property dateCreated - Only include recordings that were created on this date
212
225
  * @property dateCreatedAfter - Only include recordings that were created on this date
213
226
  * @property dateCreatedBefore - Only include recordings that were created on this date
227
+ * @property includeSoftDeleted - A boolean parameter indicating whether to retrieve soft deleted recordings or not.
214
228
  * @property pageNumber - Page Number, this value is simply for client state
215
229
  * @property pageSize - Number of records to return, defaults to 50
216
230
  * @property pageToken - PageToken provided by the API
@@ -221,6 +235,7 @@ interface RecordingListInstancePageOptions {
221
235
  dateCreated?: Date;
222
236
  dateCreatedAfter?: Date;
223
237
  dateCreatedBefore?: Date;
238
+ includeSoftDeleted?: boolean;
224
239
  pageNumber?: number;
225
240
  pageSize?: number;
226
241
  pageToken?: string;
@@ -272,6 +287,13 @@ declare class RecordingContext {
272
287
  * @param callback - Callback to handle processed record
273
288
  */
274
289
  fetch(callback?: (error: Error | null, items: RecordingInstance) => any): Promise<RecordingInstance>;
290
+ /**
291
+ * fetch a RecordingInstance
292
+ *
293
+ * @param opts - Options for request
294
+ * @param callback - Callback to handle processed record
295
+ */
296
+ fetch(opts?: RecordingInstanceFetchOptions, callback?: (error: Error | null, items: RecordingInstance) => any): Promise<RecordingInstance>;
275
297
  /**
276
298
  * remove a RecordingInstance
277
299
  *
@@ -318,6 +340,13 @@ declare class RecordingInstance extends SerializableClass {
318
340
  * @param callback - Callback to handle processed record
319
341
  */
320
342
  fetch(callback?: (error: Error | null, items: RecordingInstance) => any): Promise<RecordingInstance>;
343
+ /**
344
+ * fetch a RecordingInstance
345
+ *
346
+ * @param opts - Options for request
347
+ * @param callback - Callback to handle processed record
348
+ */
349
+ fetch(opts?: RecordingInstanceFetchOptions, callback?: (error: Error | null, items: RecordingInstance) => any): Promise<RecordingInstance>;
321
350
  price: string;
322
351
  priceUnit: string;
323
352
  /**
@@ -365,4 +394,4 @@ declare class RecordingPage extends Page<V2010, RecordingPayload, RecordingResou
365
394
  toJSON(): any;
366
395
  }
367
396
 
368
- export { RecordingContext, RecordingInstance, RecordingList, RecordingListInstance, RecordingListInstanceEachOptions, RecordingListInstanceOptions, RecordingListInstancePageOptions, RecordingPage, RecordingPayload, RecordingResource, RecordingSolution, RecordingSource, RecordingStatus }
397
+ export { RecordingContext, RecordingInstance, RecordingInstanceFetchOptions, RecordingList, RecordingListInstance, RecordingListInstanceEachOptions, RecordingListInstanceOptions, RecordingListInstancePageOptions, RecordingPage, RecordingPayload, RecordingResource, RecordingSolution, RecordingSource, RecordingStatus }
@@ -80,6 +80,8 @@ RecordingList = function RecordingList(version, accountSid) {
80
80
  * @param {string} [opts.callSid] - The Call SID of the resources to read
81
81
  * @param {string} [opts.conferenceSid] -
82
82
  * Read by unique Conference SID for the recording
83
+ * @param {boolean} [opts.includeSoftDeleted] -
84
+ * A boolean parameter indicating whether to retrieve soft deleted recordings or not.
83
85
  * @param {number} [opts.limit] -
84
86
  * Upper limit for the number of records to return.
85
87
  * each() guarantees never to return more than limit.
@@ -178,6 +180,8 @@ RecordingList = function RecordingList(version, accountSid) {
178
180
  * @param {string} [opts.callSid] - The Call SID of the resources to read
179
181
  * @param {string} [opts.conferenceSid] -
180
182
  * Read by unique Conference SID for the recording
183
+ * @param {boolean} [opts.includeSoftDeleted] -
184
+ * A boolean parameter indicating whether to retrieve soft deleted recordings or not.
181
185
  * @param {number} [opts.limit] -
182
186
  * Upper limit for the number of records to return.
183
187
  * list() guarantees never to return more than limit.
@@ -247,6 +251,8 @@ RecordingList = function RecordingList(version, accountSid) {
247
251
  * @param {string} [opts.callSid] - The Call SID of the resources to read
248
252
  * @param {string} [opts.conferenceSid] -
249
253
  * Read by unique Conference SID for the recording
254
+ * @param {boolean} [opts.includeSoftDeleted] -
255
+ * A boolean parameter indicating whether to retrieve soft deleted recordings or not.
250
256
  * @param {string} [opts.pageToken] - PageToken provided by the API
251
257
  * @param {number} [opts.pageNumber] -
252
258
  * Page Number, this value is simply for client state
@@ -270,6 +276,7 @@ RecordingList = function RecordingList(version, accountSid) {
270
276
  'DateCreated>': serialize.iso8601DateTime(_.get(opts, 'dateCreatedAfter')),
271
277
  'CallSid': _.get(opts, 'callSid'),
272
278
  'ConferenceSid': _.get(opts, 'conferenceSid'),
279
+ 'IncludeSoftDeleted': serialize.bool(_.get(opts, 'includeSoftDeleted')),
273
280
  'PageToken': opts.pageToken,
274
281
  'Page': opts.pageNumber,
275
282
  'PageSize': opts.pageSize
@@ -519,13 +526,16 @@ Object.defineProperty(RecordingInstance.prototype,
519
526
  * @function fetch
520
527
  * @memberof Twilio.Api.V2010.AccountContext.RecordingInstance#
521
528
  *
529
+ * @param {object} [opts] - Options for request
530
+ * @param {boolean} [opts.includeSoftDeleted] -
531
+ * A boolean parameter indicating whether to retrieve soft deleted recordings or not.
522
532
  * @param {function} [callback] - Callback to handle processed record
523
533
  *
524
534
  * @returns {Promise} Resolves to processed RecordingInstance
525
535
  */
526
536
  /* jshint ignore:end */
527
- RecordingInstance.prototype.fetch = function fetch(callback) {
528
- return this._proxy.fetch(callback);
537
+ RecordingInstance.prototype.fetch = function fetch(opts, callback) {
538
+ return this._proxy.fetch(opts, callback);
529
539
  };
530
540
 
531
541
  /* jshint ignore:start */
@@ -634,14 +644,25 @@ RecordingContext = function RecordingContext(version, accountSid, sid) {
634
644
  * @function fetch
635
645
  * @memberof Twilio.Api.V2010.AccountContext.RecordingContext#
636
646
  *
647
+ * @param {object} [opts] - Options for request
648
+ * @param {boolean} [opts.includeSoftDeleted] -
649
+ * A boolean parameter indicating whether to retrieve soft deleted recordings or not.
637
650
  * @param {function} [callback] - Callback to handle processed record
638
651
  *
639
652
  * @returns {Promise} Resolves to processed RecordingInstance
640
653
  */
641
654
  /* jshint ignore:end */
642
- RecordingContext.prototype.fetch = function fetch(callback) {
655
+ RecordingContext.prototype.fetch = function fetch(opts, callback) {
656
+ if (_.isFunction(opts)) {
657
+ callback = opts;
658
+ opts = {};
659
+ }
660
+ opts = opts || {};
661
+
643
662
  var deferred = Q.defer();
644
- var promise = this._version.fetch({uri: this._uri, method: 'GET'});
663
+ var data = values.of({'IncludeSoftDeleted': serialize.bool(_.get(opts, 'includeSoftDeleted'))});
664
+
665
+ var promise = this._version.fetch({uri: this._uri, method: 'GET', params: data});
645
666
 
646
667
  promise = promise.then(function(payload) {
647
668
  deferred.resolve(new RecordingInstance(
@@ -14,6 +14,8 @@ type UserChannelChannelStatus = 'joined'|'invited'|'not_participating';
14
14
 
15
15
  type UserChannelNotificationLevel = 'default'|'muted';
16
16
 
17
+ type UserChannelWebhookEnabledType = 'true'|'false';
18
+
17
19
  /**
18
20
  * Initialize the UserChannelList
19
21
  *
@@ -23,6 +25,15 @@ type UserChannelNotificationLevel = 'default'|'muted';
23
25
  */
24
26
  declare function UserChannelList(version: V2, serviceSid: string, userSid: string): UserChannelListInstance;
25
27
 
28
+ /**
29
+ * Options to pass to remove
30
+ *
31
+ * @property xTwilioWebhookEnabled - The X-Twilio-Webhook-Enabled HTTP request header
32
+ */
33
+ interface UserChannelInstanceRemoveOptions {
34
+ xTwilioWebhookEnabled?: UserChannelWebhookEnabledType;
35
+ }
36
+
26
37
  /**
27
38
  * Options to pass to update
28
39
  *
@@ -252,6 +263,13 @@ declare class UserChannelContext {
252
263
  * @param callback - Callback to handle processed record
253
264
  */
254
265
  remove(callback?: (error: Error | null, items: UserChannelInstance) => any): Promise<boolean>;
266
+ /**
267
+ * remove a UserChannelInstance
268
+ *
269
+ * @param opts - Options for request
270
+ * @param callback - Callback to handle processed record
271
+ */
272
+ remove(opts?: UserChannelInstanceRemoveOptions, callback?: (error: Error | null, items: UserChannelInstance) => any): Promise<boolean>;
255
273
  /**
256
274
  * Provide a user-friendly representation
257
275
  */
@@ -303,6 +321,13 @@ declare class UserChannelInstance extends SerializableClass {
303
321
  * @param callback - Callback to handle processed record
304
322
  */
305
323
  remove(callback?: (error: Error | null, items: UserChannelInstance) => any): Promise<boolean>;
324
+ /**
325
+ * remove a UserChannelInstance
326
+ *
327
+ * @param opts - Options for request
328
+ * @param callback - Callback to handle processed record
329
+ */
330
+ remove(opts?: UserChannelInstanceRemoveOptions, callback?: (error: Error | null, items: UserChannelInstance) => any): Promise<boolean>;
306
331
  serviceSid: string;
307
332
  status: UserChannelChannelStatus;
308
333
  /**
@@ -350,4 +375,4 @@ declare class UserChannelPage extends Page<V2, UserChannelPayload, UserChannelRe
350
375
  toJSON(): any;
351
376
  }
352
377
 
353
- export { UserChannelChannelStatus, UserChannelContext, UserChannelInstance, UserChannelInstanceUpdateOptions, UserChannelList, UserChannelListInstance, UserChannelListInstanceEachOptions, UserChannelListInstanceOptions, UserChannelListInstancePageOptions, UserChannelNotificationLevel, UserChannelPage, UserChannelPayload, UserChannelResource, UserChannelSolution }
378
+ export { UserChannelChannelStatus, UserChannelContext, UserChannelInstance, UserChannelInstanceRemoveOptions, UserChannelInstanceUpdateOptions, UserChannelList, UserChannelListInstance, UserChannelListInstanceEachOptions, UserChannelListInstanceOptions, UserChannelListInstancePageOptions, UserChannelNotificationLevel, UserChannelPage, UserChannelPayload, UserChannelResource, UserChannelSolution, UserChannelWebhookEnabledType }
@@ -512,13 +512,16 @@ UserChannelInstance.prototype.fetch = function fetch(callback) {
512
512
  * @function remove
513
513
  * @memberof Twilio.Chat.V2.ServiceContext.UserContext.UserChannelInstance#
514
514
  *
515
+ * @param {object} [opts] - Options for request
516
+ * @param {user_channel.webhook_enabled_type} [opts.xTwilioWebhookEnabled] -
517
+ * The X-Twilio-Webhook-Enabled HTTP request header
515
518
  * @param {function} [callback] - Callback to handle processed record
516
519
  *
517
520
  * @returns {Promise} Resolves to processed UserChannelInstance
518
521
  */
519
522
  /* jshint ignore:end */
520
- UserChannelInstance.prototype.remove = function remove(callback) {
521
- return this._proxy.remove(callback);
523
+ UserChannelInstance.prototype.remove = function remove(opts, callback) {
524
+ return this._proxy.remove(opts, callback);
522
525
  };
523
526
 
524
527
  /* jshint ignore:start */
@@ -638,14 +641,25 @@ UserChannelContext.prototype.fetch = function fetch(callback) {
638
641
  * @function remove
639
642
  * @memberof Twilio.Chat.V2.ServiceContext.UserContext.UserChannelContext#
640
643
  *
644
+ * @param {object} [opts] - Options for request
645
+ * @param {user_channel.webhook_enabled_type} [opts.xTwilioWebhookEnabled] -
646
+ * The X-Twilio-Webhook-Enabled HTTP request header
641
647
  * @param {function} [callback] - Callback to handle processed record
642
648
  *
643
649
  * @returns {Promise} Resolves to processed UserChannelInstance
644
650
  */
645
651
  /* jshint ignore:end */
646
- UserChannelContext.prototype.remove = function remove(callback) {
652
+ UserChannelContext.prototype.remove = function remove(opts, callback) {
653
+ if (_.isFunction(opts)) {
654
+ callback = opts;
655
+ opts = {};
656
+ }
657
+ opts = opts || {};
658
+
647
659
  var deferred = Q.defer();
648
- var promise = this._version.remove({uri: this._uri, method: 'DELETE'});
660
+ var headers = values.of({'X-Twilio-Webhook-Enabled': _.get(opts, 'xTwilioWebhookEnabled')});
661
+
662
+ var promise = this._version.remove({uri: this._uri, method: 'DELETE', headers: headers});
649
663
 
650
664
  promise = promise.then(function(payload) {
651
665
  deferred.resolve(payload);
@@ -9,6 +9,8 @@ import Media = require('../Media');
9
9
  import Version = require('../../base/Version');
10
10
  import { MediaProcessorList } from './v1/mediaProcessor';
11
11
  import { MediaProcessorListInstance } from './v1/mediaProcessor';
12
+ import { MediaRecordingList } from './v1/mediaRecording';
13
+ import { MediaRecordingListInstance } from './v1/mediaRecording';
12
14
  import { PlayerStreamerList } from './v1/playerStreamer';
13
15
  import { PlayerStreamerListInstance } from './v1/playerStreamer';
14
16
 
@@ -22,6 +24,7 @@ declare class V1 extends Version {
22
24
  constructor(domain: Media);
23
25
 
24
26
  readonly mediaProcessor: MediaProcessorListInstance;
27
+ readonly mediaRecording: MediaRecordingListInstance;
25
28
  readonly playerStreamer: PlayerStreamerListInstance;
26
29
  }
27
30
 
@@ -11,6 +11,7 @@
11
11
 
12
12
  var _ = require('lodash'); /* jshint ignore:line */
13
13
  var MediaProcessorList = require('./v1/mediaProcessor').MediaProcessorList;
14
+ var MediaRecordingList = require('./v1/mediaRecording').MediaRecordingList;
14
15
  var PlayerStreamerList = require('./v1/playerStreamer').PlayerStreamerList;
15
16
  var Version = require('../../base/Version'); /* jshint ignore:line */
16
17
 
@@ -23,6 +24,8 @@ var Version = require('../../base/Version'); /* jshint ignore:line */
23
24
  *
24
25
  * @property {Twilio.Media.V1.MediaProcessorList} mediaProcessor -
25
26
  * mediaProcessor resource
27
+ * @property {Twilio.Media.V1.MediaRecordingList} mediaRecording -
28
+ * mediaRecording resource
26
29
  * @property {Twilio.Media.V1.PlayerStreamerList} playerStreamer -
27
30
  * playerStreamer resource
28
31
  *
@@ -34,6 +37,7 @@ function V1(domain) {
34
37
 
35
38
  // Resources
36
39
  this._mediaProcessor = undefined;
40
+ this._mediaRecording = undefined;
37
41
  this._playerStreamer = undefined;
38
42
  }
39
43
 
@@ -48,6 +52,14 @@ Object.defineProperty(V1.prototype,
48
52
  }
49
53
  });
50
54
 
55
+ Object.defineProperty(V1.prototype,
56
+ 'mediaRecording', {
57
+ get: function() {
58
+ this._mediaRecording = this._mediaRecording || new MediaRecordingList(this);
59
+ return this._mediaRecording;
60
+ }
61
+ });
62
+
51
63
  Object.defineProperty(V1.prototype,
52
64
  'playerStreamer', {
53
65
  get: function() {