files.com 1.2.137 → 1.2.139

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -77,13 +77,13 @@ access to the entire API. If the user is not an administrator, you will only be
77
77
  that user can access, and no access will be granted to site administration functions in the API.
78
78
 
79
79
  ```javascript title="Example Request"
80
- Files.setApiKey('YOUR_API_KEY')
80
+ Files.setApiKey('YOUR_API_KEY');
81
81
 
82
82
  // Alternatively, you can specify the API key on a per-object basis in the second parameter to a model constructor.
83
- const user = new User(params, { apiKey: 'YOUR_API_KEY' })
83
+ const user = new User(params, { apiKey: 'YOUR_API_KEY' });
84
84
 
85
85
  // You may also specify the API key on a per-request basis in the final parameter to static methods.
86
- await User.find(id, params, { apiKey: 'YOUR_API_KEY' })
86
+ await User.find(id, params, { apiKey: 'YOUR_API_KEY' });
87
87
  ```
88
88
 
89
89
  Don't forget to replace the placeholder, `YOUR_API_KEY`, with your actual API key.
@@ -108,7 +108,7 @@ password.
108
108
  This returns a session object that can be used to authenticate SDK method calls.
109
109
 
110
110
  ```javascript title="Example Request"
111
- const session = await Session.create({ username: 'motor', password: 'vroom' })
111
+ const session = await Session.create({ username: 'motor', password: 'vroom' });
112
112
  ```
113
113
 
114
114
  #### Using a Session
@@ -117,13 +117,13 @@ Once a session has been created, you can store the session globally, use the ses
117
117
 
118
118
  ```javascript title="Example Request"
119
119
  // You may set the returned session ID to be used by default for subsequent requests.
120
- Files.setSessionId(session.id)
120
+ Files.setSessionId(session.id);
121
121
 
122
122
  // Alternatively, you can specify the session ID on a per-object basis in the second parameter to a model constructor.
123
- const user = new User(params, { session_id: session.id })
123
+ const user = new User(params, { session_id: session.id });
124
124
 
125
125
  // You may also specify the session ID on a per-request basis in the final parameter to static methods.
126
- await User.find(id, params, { session_id: session.id })
126
+ await User.find(id, params, { session_id: session.id });
127
127
  ```
128
128
 
129
129
  #### Logging Out
@@ -131,7 +131,7 @@ await User.find(id, params, { session_id: session.id })
131
131
  User sessions can be ended calling the `destroy` method on the `session` object.
132
132
 
133
133
  ```javascript title="Example Request"
134
- await Session.destroy()
134
+ await Session.destroy();
135
135
  ```
136
136
 
137
137
  ## Configuration
@@ -158,8 +158,9 @@ Supported values:
158
158
  * LogLevel.DEBUG
159
159
 
160
160
  ```javascript title="Example setting"
161
- import { LogLevel } from 'files.com/lib/Logger.js'
162
- Files.setLogLevel(LogLevel.INFO)
161
+ import { LogLevel } from 'files.com/lib/Logger.js';
162
+
163
+ Files.setLogLevel(LogLevel.INFO);
163
164
  ```
164
165
 
165
166
  #### Debugging
@@ -170,7 +171,7 @@ Enable debug logging of API requests and/or response headers. Both settings defa
170
171
  Files.configureDebugging({
171
172
  debugRequest: true,
172
173
  debugResponseHeaders: true,
173
- })
174
+ });
174
175
  ```
175
176
 
176
177
  #### Network Settings
@@ -191,114 +192,112 @@ Files.configureNetwork({
191
192
 
192
193
  // auto-fetch all pages when results span multiple pages (default: `true`)
193
194
  autoPaginate: true,
194
- })
195
+ });
195
196
  ```
196
197
 
197
198
  ## Sort and Filter
198
199
 
199
- Several of the Files.com API resources have list operations that return multiple instances of the resource. The List operations
200
- can be sorted and filtered.
200
+ Several of the Files.com API resources have list operations that return multiple instances of the
201
+ resource. The List operations can be sorted and filtered.
201
202
 
202
203
  ### Sorting
203
204
 
204
- The returned data can be sorted by passing in the ```sort_by``` method argument.
205
-
206
- Each resource has a set of valid fields for sorting and can be sorted by one field at a time.
207
-
208
- The argument value is a Javascript object that has a property of the resource field name sort on and a value of either ```"asc"``` or ```"desc"``` to specify the sort order.
209
-
210
- ### Filters
211
-
212
- Filters apply selection criteria to the underlying query that returns the results. Filters can be applied individually to select resource fields
213
- and/or in a combination with each other. The results of applying filters and filter combinations can be sorted by a single field.
214
-
215
- The passed in argument value is a Javascript object that has a property of the resource field name to filter on and a passed in value to use in the filter comparison.
216
-
217
- Each resource has their own set of valid filters and fields, valid combinations of filters, and sortable fields.
205
+ To sort the returned data, pass in the ```sort_by``` method argument.
218
206
 
219
- #### Types of Filters
207
+ Each resource supports a unique set of valid sort fields and can only be sorted by one field at a
208
+ time.
220
209
 
221
- ##### Exact Filter
210
+ The argument value is a Javascript object that has a property of the resource field name sort on and
211
+ a value of either ```"asc"``` or ```"desc"``` to specify the sort order.
222
212
 
223
- `filter` - find resources that have an exact field value match to a passed in value. (i.e., FIELD_VALUE = PASS_IN_VALUE).
213
+ ```javascript title="Sort Example"
214
+ Files.setApiKey('my-key');
224
215
 
225
- #### Range Filters
216
+ // Users, sorted by username in ascending order.
217
+ const users = await User.list({
218
+ sort_by: { username: "asc"}
219
+ });
226
220
 
227
- `filter_gt` - find resources that have a field value that is greater than the passed in value. (i.e., FIELD_VALUE > PASS_IN_VALUE).
221
+ users.forEach(user => {
222
+ console.log(user.username);
223
+ });
224
+ ```
228
225
 
229
- `filter_gte` - find resources that have a field value that is greater than or equal to the passed in value. (i.e., FIELD_VALUE >= PASS_IN_VALUE).
226
+ ### Filtering
230
227
 
231
- `filter_lt` - find resources that have a field value that is less than the passed in value. (i.e., FIELD_VALUE < PASS_IN_VALUE).
228
+ Filters apply selection criteria to the underlying query that returns the results. They can be
229
+ applied individually or combined with other filters, and the resulting data can be sorted by a
230
+ single field.
232
231
 
233
- `filter_lte` - find resources that have a field value that is less than or equal to the passed in value. (i.e., FIELD_VALUE \<= PASS_IN_VALUE).
232
+ Each resource supports a unique set of valid filter fields, filter combinations, and combinations of
233
+ filters and sort fields.
234
234
 
235
- ##### Pattern Filter
235
+ The passed in argument value is a Javascript object that has a property of the resource field name
236
+ to filter on and a passed in value to use in the filter comparison.
236
237
 
237
- `filter_prefix` - find resources where the specified field is prefixed by the supplied value. This is applicable to values that are strings.
238
+ #### Filter Types
238
239
 
239
- ```javascript title="Sort Example"
240
- // users sorted by username
241
- Files.setApiKey('my-key');
242
- var users = await User.list({
243
- sort_by: { username: "asc"}
244
- })
245
-
246
- for (var i = 0; i < users.length; i++) {
247
- console.log(users[i].username);
248
- }
249
- ```
240
+ | Filter | Type | Description |
241
+ | --------- | --------- | --------- |
242
+ | `filter` | Exact | Find resources that have an exact field value match to a passed in value. (i.e., FIELD_VALUE = PASS_IN_VALUE). |
243
+ | `filter_prefix` | Pattern | Find resources where the specified field is prefixed by the supplied value. This is applicable to values that are strings. |
244
+ | `filter_gt` | Range | Find resources that have a field value that is greater than the passed in value. (i.e., FIELD_VALUE > PASS_IN_VALUE). |
245
+ | `filter_gteq` | Range | Find resources that have a field value that is greater than or equal to the passed in value. (i.e., FIELD_VALUE >= PASS_IN_VALUE). |
246
+ | `filter_lt` | Range | Find resources that have a field value that is less than the passed in value. (i.e., FIELD_VALUE < PASS_IN_VALUE). |
247
+ | `filter_lteq` | Range | Find resources that have a field value that is less than or equal to the passed in value. (i.e., FIELD_VALUE \<= PASS_IN_VALUE). |
250
248
 
251
249
  ```javascript title="Exact Filter Example"
252
- // non admin users
253
250
  Files.setApiKey('my-key');
254
- var users = await User.list({
255
- filter: { not_site_admin: true },
256
- sort_by: { username: "asc"}
257
- })
258
251
 
259
- for (var i = 0; i < users.length; i++) {
260
- console.log(users[i].username);
261
- }
252
+ // Users who are not site admins.
253
+ const users = await User.list({
254
+ filter: { not_site_admin: true }
255
+ });
256
+
257
+ users.forEach(user => {
258
+ console.log(user.username);
259
+ });
262
260
  ```
263
261
 
264
262
  ```javascript title="Range Filter Example"
265
- // users who haven't logged in since 2024-01-01
266
263
  Files.setApiKey('my-key');
267
- var users = await User.list({
268
- filter_gte: { last_login_at: "2024-01-01" },
269
- sort_by: { last_login_at: "asc"}
270
- })
271
264
 
272
- for (var i = 0; i < users.length; i++) {
273
- console.log(users[i].username);
274
- }
265
+ // Users who haven't logged in since 2024-01-01.
266
+ const users = await User.list({
267
+ filter_gteq: { last_login_at: "2024-01-01" }
268
+ });
269
+
270
+ users.forEach(user => {
271
+ console.log(user.username);
272
+ });
275
273
  ```
276
274
 
277
275
  ```javascript title="Pattern Filter Example"
278
- // users who usernames start with 'test'
279
276
  Files.setApiKey('my-key');
280
- var users = await User.list({
281
- filter_prefix: { username: "test" },
282
- sort_by: { last_login_at: "asc"}
283
- })
284
277
 
285
- for (var i = 0; i < users.length; i++) {
286
- console.log(users[i].username);
287
- }
278
+ // Users whose usernames start with 'test'.
279
+ const users = await User.list({
280
+ filter_prefix: { username: "test" }
281
+ });
282
+
283
+ users.forEach(user => {
284
+ console.log(user.username);
285
+ });
288
286
  ```
289
287
 
290
- ```javascript title="Combined Filter Example"
291
- // users who usernames start with 'test' and are not admins
288
+ ```javascript title="Combination Filter with Sort Example"
292
289
  Files.setApiKey('my-key');
293
- var users = await User.list({
294
- filter_prefix: { username: "test" },
295
- filter: { not_site_admin: true },
296
- sort_by: { last_login_at: "asc"}
297
- })
298
-
299
- for (var i = 0; i < users.length; i++) {
300
- console.log(users[i].username);
301
- }
290
+
291
+ // Users whose usernames start with 'test' and are not site admins, sorted by last login date.
292
+ const users = await User.list({
293
+ filter_prefix: { username: "test" },
294
+ filter: { not_site_admin: true },
295
+ sort_by: { last_login_at: "asc" }
296
+ });
297
+
298
+ users.forEach(user => {
299
+ console.log(user.username);
300
+ });
302
301
  ```
303
302
 
304
303
  ## Errors
@@ -319,20 +318,19 @@ Use standard Javascript exception handling to detect and deal with errors. It i
319
318
  catch the general `FilesError` exception as a catch-all.
320
319
 
321
320
  ```javascript title="Example Error Handling"
322
- import Session from 'files.com/lib/models/Session.js'
323
- import * as FilesErrors from 'files.com/lib/Errors.js'
321
+ import Session from 'files.com/lib/models/Session.js';
322
+ import * as FilesErrors from 'files.com/lib/Errors.js';
324
323
 
325
324
  try {
326
- const session = await Session.create({ username: 'USERNAME', password: 'BADPASSWORD' })
327
- }
328
- catch(err) {
329
- if (err instanceof FilesErrors.NotAuthenticatedError) {
330
- console.log("Authorization Error Occurred (" + err.constructor.name + "): " + err.error);
331
- } else if (err instanceof FilesErrors.FilesError) {
332
- console.log("Unknown Error Occurred (" + err.constructor.name + "): " + err.error);
333
- } else {
334
- throw err;
335
- }
325
+ const session = await Session.create({ username: 'USERNAME', password: 'BADPASSWORD' });
326
+ } catch(err) {
327
+ if (err instanceof FilesErrors.NotAuthenticatedError) {
328
+ console.error(`Authorization Error Occurred (${err.constructor.name}): ${err.error}`);
329
+ } else if (err instanceof FilesErrors.FilesError) {
330
+ console.error(`Unknown Error Occurred (${err.constructor.name}): ${err.error}`);
331
+ } else {
332
+ throw err;
333
+ }
336
334
  }
337
335
  ```
338
336
 
@@ -554,22 +552,23 @@ Error
554
552
  #### List Root Folder
555
553
 
556
554
  ```javascript
557
- import Folder from 'files.com/lib/models/Folder.js'
558
- const dirFiles = await Folder.listFor('/')
555
+ import Folder from 'files.com/lib/models/Folder.js';
556
+
557
+ const dirFiles = await Folder.listFor('/');
559
558
  ```
560
559
 
561
560
  #### Uploading a File
562
561
 
563
562
  ```javascript
564
- import File from 'files.com/lib/models/File.js'
565
- import { isBrowser } from 'files.com/lib/utils.js'
563
+ import File from 'files.com/lib/models/File.js';
564
+ import { isBrowser } from 'files.com/lib/utils.js';
566
565
 
567
566
  // uploading raw file data
568
- await File.uploadData(destinationFileName, data)
567
+ await File.uploadData(destinationFileName, data);
569
568
 
570
569
  // uploading a file on disk (not available in browser)
571
570
  if (!isBrowser()) {
572
- await File.uploadFile(destinationFileName, sourceFilePath)
571
+ await File.uploadFile(destinationFileName, sourceFilePath);
573
572
  }
574
573
  ```
575
574
 
@@ -578,26 +577,26 @@ if (!isBrowser()) {
578
577
  ##### Get a Downloadable File Object by Path
579
578
 
580
579
  ```javascript
581
- import File from 'files.com/lib/models/File.js'
580
+ import File from 'files.com/lib/models/File.js';
582
581
 
583
- const foundFile = await File.find(remoteFilePath)
584
- const downloadableFile = await foundFile.download()
582
+ const foundFile = await File.find(remoteFilePath);
583
+ const downloadableFile = await foundFile.download();
585
584
  ```
586
585
 
587
586
  ##### Download a File (not available in browser)
588
587
 
589
588
  ```javascript
590
- import { isBrowser } from 'files.com/lib/utils.js'
589
+ import { isBrowser } from 'files.com/lib/utils.js';
591
590
 
592
591
  if (!isBrowser()) {
593
592
  // download to a file on disk
594
- await downloadableFile.downloadToFile(localFilePath)
593
+ await downloadableFile.downloadToFile(localFilePath);
595
594
 
596
595
  // download to a writable stream
597
- await downloadableFile.downloadToStream(stream)
596
+ await downloadableFile.downloadToStream(stream);
598
597
 
599
598
  // download in memory and return as a UTF-8 string
600
- const textContent = await downloadableFile.downloadToString()
599
+ const textContent = await downloadableFile.downloadToString();
601
600
  }
602
601
  ```
603
602
 
@@ -606,7 +605,7 @@ if (!isBrowser()) {
606
605
  For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
607
606
 
608
607
  ```javascript
609
- import { pathNormalizer } from 'files.com/lib/utils.js'
608
+ import { pathNormalizer } from 'files.com/lib/utils.js';
610
609
 
611
610
  if (pathNormalizer.same('Fïłèńämê.Txt', 'filename.txt')) {
612
611
  // the paths are the same
package/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.137
1
+ 1.2.139
@@ -103,9 +103,7 @@
103
103
  ## List Automations
104
104
 
105
105
  ```
106
- await Automation.list({
107
- 'with_deleted': true,
108
- })
106
+ await Automation.list
109
107
  ```
110
108
 
111
109
 
@@ -119,7 +117,6 @@ await Automation.list({
119
117
  * `filter_gteq` (object): If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.
120
118
  * `filter_lt` (object): If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.
121
119
  * `filter_lteq` (object): If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`.
122
- * `with_deleted` (boolean): Set to true to include deleted automations in the results.
123
120
 
124
121
  ---
125
122
 
@@ -56,6 +56,7 @@
56
56
  "dav_enabled": true,
57
57
  "dav_user_root_enabled": true,
58
58
  "days_to_retain_backups": 30,
59
+ "document_edits_in_bundle_allowed": "example",
59
60
  "default_time_zone": "Pacific Time (US & Canada)",
60
61
  "desktop_app": true,
61
62
  "desktop_app_session_ip_pinning": true,
@@ -329,6 +330,7 @@
329
330
  * `dav_enabled` (boolean): Is WebDAV enabled?
330
331
  * `dav_user_root_enabled` (boolean): Use user FTP roots also for WebDAV?
331
332
  * `days_to_retain_backups` (int64): Number of days to keep deleted files
333
+ * `document_edits_in_bundle_allowed` (string): If true, allow public viewers of Bundles with full permissions to use document editing integrations.
332
334
  * `default_time_zone` (string): Site default time zone
333
335
  * `desktop_app` (boolean): Is the desktop app enabled?
334
336
  * `desktop_app_session_ip_pinning` (boolean): Is desktop app session IP pinning enabled?
@@ -382,8 +384,8 @@
382
384
  * `motd_use_for_sftp` (boolean): Show message to users connecting via SFTP
383
385
  * `next_billing_amount` (double): Next billing amount
384
386
  * `next_billing_date` (string): Next billing date
385
- * `office_integration_available` (boolean): Allow users to use Office for the web?
386
- * `office_integration_type` (string): Office integration application used to edit and view the MS Office documents
387
+ * `office_integration_available` (boolean): If true, allows users to use a document editing integration.
388
+ * `office_integration_type` (string): Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
387
389
  * `oncehub_link` (string): Link to scheduling a meeting with our Sales team
388
390
  * `opt_out_global` (boolean): Use servers in the USA only?
389
391
  * `overdue` (boolean): Is this site's billing overdue?
@@ -543,6 +545,7 @@ await Site.update({
543
545
  'bundle_registration_notifications': "never",
544
546
  'bundle_activity_notifications': "never",
545
547
  'bundle_upload_receipt_notifications': "never",
548
+ 'document_edits_in_bundle_allowed': "example",
546
549
  'password_requirements_apply_to_bundles': true,
547
550
  'prevent_root_permissions_for_non_site_admins': true,
548
551
  'opt_out_global': true,
@@ -649,8 +652,8 @@ await Site.update({
649
652
  * `mobile_app_session_lifetime` (int64): Mobile app session lifetime (in hours)
650
653
  * `folder_permissions_groups_only` (boolean): If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
651
654
  * `welcome_screen` (string): Does the welcome screen appear?
652
- * `office_integration_available` (boolean): Allow users to use Office for the web?
653
- * `office_integration_type` (string): Office integration application used to edit and view the MS Office documents
655
+ * `office_integration_available` (boolean): If true, allows users to use a document editing integration.
656
+ * `office_integration_type` (string): Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
654
657
  * `pin_all_remote_servers_to_site_region` (boolean): If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.
655
658
  * `motd_text` (string): A message to show users when they connect via FTP or SFTP.
656
659
  * `motd_use_for_ftp` (boolean): Show message to users connecting via FTP
@@ -694,6 +697,7 @@ await Site.update({
694
697
  * `bundle_registration_notifications` (string): Do Bundle owners receive registration notification?
695
698
  * `bundle_activity_notifications` (string): Do Bundle owners receive activity notifications?
696
699
  * `bundle_upload_receipt_notifications` (string): Do Bundle uploaders receive upload confirmation notifications?
700
+ * `document_edits_in_bundle_allowed` (string): If true, allow public viewers of Bundles with full permissions to use document editing integrations.
697
701
  * `password_requirements_apply_to_bundles` (boolean): Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?
698
702
  * `prevent_root_permissions_for_non_site_admins` (boolean): If true, we will prevent non-administrators from receiving any permissions directly on the root folder. This is commonly used to prevent the accidental application of permissions.
699
703
  * `opt_out_global` (boolean): Use servers in the USA only?
package/lib/Files.js CHANGED
@@ -11,7 +11,7 @@ var endpointPrefix = '/api/rest/v1';
11
11
  var apiKey;
12
12
  var baseUrl = 'https://app.files.com';
13
13
  var sessionId = null;
14
- var version = '1.2.137';
14
+ var version = '1.2.139';
15
15
  var userAgent = "Files.com JavaScript SDK v".concat(version);
16
16
  var logLevel = _Logger.LogLevel.INFO;
17
17
  var debugRequest = false;
@@ -623,7 +623,6 @@ _Automation = Automation;
623
623
  // filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.
624
624
  // filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.
625
625
  // filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`.
626
- // with_deleted - boolean - Set to true to include deleted automations in the results.
627
626
  (0, _defineProperty2.default)(Automation, "list", /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
628
627
  var _response$data;
629
628
  var params,
@@ -205,6 +205,10 @@ var Site = /*#__PURE__*/(0, _createClass2.default)(function Site() {
205
205
  (0, _defineProperty2.default)(this, "getDaysToRetainBackups", function () {
206
206
  return _this.attributes.days_to_retain_backups;
207
207
  });
208
+ // string # If true, allow public viewers of Bundles with full permissions to use document editing integrations.
209
+ (0, _defineProperty2.default)(this, "getDocumentEditsInBundleAllowed", function () {
210
+ return _this.attributes.document_edits_in_bundle_allowed;
211
+ });
208
212
  // string # Site default time zone
209
213
  (0, _defineProperty2.default)(this, "getDefaultTimeZone", function () {
210
214
  return _this.attributes.default_time_zone;
@@ -417,11 +421,11 @@ var Site = /*#__PURE__*/(0, _createClass2.default)(function Site() {
417
421
  (0, _defineProperty2.default)(this, "getNextBillingDate", function () {
418
422
  return _this.attributes.next_billing_date;
419
423
  });
420
- // boolean # Allow users to use Office for the web?
424
+ // boolean # If true, allows users to use a document editing integration.
421
425
  (0, _defineProperty2.default)(this, "getOfficeIntegrationAvailable", function () {
422
426
  return _this.attributes.office_integration_available;
423
427
  });
424
- // string # Office integration application used to edit and view the MS Office documents
428
+ // string # Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
425
429
  (0, _defineProperty2.default)(this, "getOfficeIntegrationType", function () {
426
430
  return _this.attributes.office_integration_type;
427
431
  });
@@ -759,8 +763,8 @@ _Site = Site;
759
763
  // mobile_app_session_lifetime - int64 - Mobile app session lifetime (in hours)
760
764
  // folder_permissions_groups_only - boolean - If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
761
765
  // welcome_screen - string - Does the welcome screen appear?
762
- // office_integration_available - boolean - Allow users to use Office for the web?
763
- // office_integration_type - string - Office integration application used to edit and view the MS Office documents
766
+ // office_integration_available - boolean - If true, allows users to use a document editing integration.
767
+ // office_integration_type - string - Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
764
768
  // pin_all_remote_servers_to_site_region - boolean - If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.
765
769
  // motd_text - string - A message to show users when they connect via FTP or SFTP.
766
770
  // motd_use_for_ftp - boolean - Show message to users connecting via FTP
@@ -804,6 +808,7 @@ _Site = Site;
804
808
  // bundle_registration_notifications - string - Do Bundle owners receive registration notification?
805
809
  // bundle_activity_notifications - string - Do Bundle owners receive activity notifications?
806
810
  // bundle_upload_receipt_notifications - string - Do Bundle uploaders receive upload confirmation notifications?
811
+ // document_edits_in_bundle_allowed - string - If true, allow public viewers of Bundles with full permissions to use document editing integrations.
807
812
  // password_requirements_apply_to_bundles - boolean - Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?
808
813
  // prevent_root_permissions_for_non_site_admins - boolean - If true, we will prevent non-administrators from receiving any permissions directly on the root folder. This is commonly used to prevent the accidental application of permissions.
809
814
  // opt_out_global - boolean - Use servers in the USA only?
@@ -1089,228 +1094,234 @@ _Site = Site;
1089
1094
  }
1090
1095
  throw new errors.InvalidParameterError("Bad parameter: bundle_upload_receipt_notifications must be of type String, received ".concat((0, _utils.getType)(params.bundle_upload_receipt_notifications)));
1091
1096
  case 66:
1092
- if (!(params.disable_users_from_inactivity_period_days && !(0, _utils.isInt)(params.disable_users_from_inactivity_period_days))) {
1097
+ if (!(params.document_edits_in_bundle_allowed && !(0, _utils.isString)(params.document_edits_in_bundle_allowed))) {
1093
1098
  _context3.next = 68;
1094
1099
  break;
1095
1100
  }
1096
- throw new errors.InvalidParameterError("Bad parameter: disable_users_from_inactivity_period_days must be of type Int, received ".concat((0, _utils.getType)(params.disable_users_from_inactivity_period_days)));
1101
+ throw new errors.InvalidParameterError("Bad parameter: document_edits_in_bundle_allowed must be of type String, received ".concat((0, _utils.getType)(params.document_edits_in_bundle_allowed)));
1097
1102
  case 68:
1098
- if (!(params.sftp_host_key_type && !(0, _utils.isString)(params.sftp_host_key_type))) {
1103
+ if (!(params.disable_users_from_inactivity_period_days && !(0, _utils.isInt)(params.disable_users_from_inactivity_period_days))) {
1099
1104
  _context3.next = 70;
1100
1105
  break;
1101
1106
  }
1102
- throw new errors.InvalidParameterError("Bad parameter: sftp_host_key_type must be of type String, received ".concat((0, _utils.getType)(params.sftp_host_key_type)));
1107
+ throw new errors.InvalidParameterError("Bad parameter: disable_users_from_inactivity_period_days must be of type Int, received ".concat((0, _utils.getType)(params.disable_users_from_inactivity_period_days)));
1103
1108
  case 70:
1104
- if (!(params.active_sftp_host_key_id && !(0, _utils.isInt)(params.active_sftp_host_key_id))) {
1109
+ if (!(params.sftp_host_key_type && !(0, _utils.isString)(params.sftp_host_key_type))) {
1105
1110
  _context3.next = 72;
1106
1111
  break;
1107
1112
  }
1108
- throw new errors.InvalidParameterError("Bad parameter: active_sftp_host_key_id must be of type Int, received ".concat((0, _utils.getType)(params.active_sftp_host_key_id)));
1113
+ throw new errors.InvalidParameterError("Bad parameter: sftp_host_key_type must be of type String, received ".concat((0, _utils.getType)(params.sftp_host_key_type)));
1109
1114
  case 72:
1110
- if (!(params.bundle_recipient_blacklist_domains && !(0, _utils.isArray)(params.bundle_recipient_blacklist_domains))) {
1115
+ if (!(params.active_sftp_host_key_id && !(0, _utils.isInt)(params.active_sftp_host_key_id))) {
1111
1116
  _context3.next = 74;
1112
1117
  break;
1113
1118
  }
1114
- throw new errors.InvalidParameterError("Bad parameter: bundle_recipient_blacklist_domains must be of type Array, received ".concat((0, _utils.getType)(params.bundle_recipient_blacklist_domains)));
1119
+ throw new errors.InvalidParameterError("Bad parameter: active_sftp_host_key_id must be of type Int, received ".concat((0, _utils.getType)(params.active_sftp_host_key_id)));
1115
1120
  case 74:
1116
- if (!(params.require_2fa_user_type && !(0, _utils.isString)(params.require_2fa_user_type))) {
1121
+ if (!(params.bundle_recipient_blacklist_domains && !(0, _utils.isArray)(params.bundle_recipient_blacklist_domains))) {
1117
1122
  _context3.next = 76;
1118
1123
  break;
1119
1124
  }
1120
- throw new errors.InvalidParameterError("Bad parameter: require_2fa_user_type must be of type String, received ".concat((0, _utils.getType)(params.require_2fa_user_type)));
1125
+ throw new errors.InvalidParameterError("Bad parameter: bundle_recipient_blacklist_domains must be of type Array, received ".concat((0, _utils.getType)(params.bundle_recipient_blacklist_domains)));
1121
1126
  case 76:
1122
- if (!(params.color2_top && !(0, _utils.isString)(params.color2_top))) {
1127
+ if (!(params.require_2fa_user_type && !(0, _utils.isString)(params.require_2fa_user_type))) {
1123
1128
  _context3.next = 78;
1124
1129
  break;
1125
1130
  }
1126
- throw new errors.InvalidParameterError("Bad parameter: color2_top must be of type String, received ".concat((0, _utils.getType)(params.color2_top)));
1131
+ throw new errors.InvalidParameterError("Bad parameter: require_2fa_user_type must be of type String, received ".concat((0, _utils.getType)(params.require_2fa_user_type)));
1127
1132
  case 78:
1128
- if (!(params.color2_left && !(0, _utils.isString)(params.color2_left))) {
1133
+ if (!(params.color2_top && !(0, _utils.isString)(params.color2_top))) {
1129
1134
  _context3.next = 80;
1130
1135
  break;
1131
1136
  }
1132
- throw new errors.InvalidParameterError("Bad parameter: color2_left must be of type String, received ".concat((0, _utils.getType)(params.color2_left)));
1137
+ throw new errors.InvalidParameterError("Bad parameter: color2_top must be of type String, received ".concat((0, _utils.getType)(params.color2_top)));
1133
1138
  case 80:
1134
- if (!(params.color2_link && !(0, _utils.isString)(params.color2_link))) {
1139
+ if (!(params.color2_left && !(0, _utils.isString)(params.color2_left))) {
1135
1140
  _context3.next = 82;
1136
1141
  break;
1137
1142
  }
1138
- throw new errors.InvalidParameterError("Bad parameter: color2_link must be of type String, received ".concat((0, _utils.getType)(params.color2_link)));
1143
+ throw new errors.InvalidParameterError("Bad parameter: color2_left must be of type String, received ".concat((0, _utils.getType)(params.color2_left)));
1139
1144
  case 82:
1140
- if (!(params.color2_text && !(0, _utils.isString)(params.color2_text))) {
1145
+ if (!(params.color2_link && !(0, _utils.isString)(params.color2_link))) {
1141
1146
  _context3.next = 84;
1142
1147
  break;
1143
1148
  }
1144
- throw new errors.InvalidParameterError("Bad parameter: color2_text must be of type String, received ".concat((0, _utils.getType)(params.color2_text)));
1149
+ throw new errors.InvalidParameterError("Bad parameter: color2_link must be of type String, received ".concat((0, _utils.getType)(params.color2_link)));
1145
1150
  case 84:
1146
- if (!(params.color2_top_text && !(0, _utils.isString)(params.color2_top_text))) {
1151
+ if (!(params.color2_text && !(0, _utils.isString)(params.color2_text))) {
1147
1152
  _context3.next = 86;
1148
1153
  break;
1149
1154
  }
1150
- throw new errors.InvalidParameterError("Bad parameter: color2_top_text must be of type String, received ".concat((0, _utils.getType)(params.color2_top_text)));
1155
+ throw new errors.InvalidParameterError("Bad parameter: color2_text must be of type String, received ".concat((0, _utils.getType)(params.color2_text)));
1151
1156
  case 86:
1152
- if (!(params.site_header && !(0, _utils.isString)(params.site_header))) {
1157
+ if (!(params.color2_top_text && !(0, _utils.isString)(params.color2_top_text))) {
1153
1158
  _context3.next = 88;
1154
1159
  break;
1155
1160
  }
1156
- throw new errors.InvalidParameterError("Bad parameter: site_header must be of type String, received ".concat((0, _utils.getType)(params.site_header)));
1161
+ throw new errors.InvalidParameterError("Bad parameter: color2_top_text must be of type String, received ".concat((0, _utils.getType)(params.color2_top_text)));
1157
1162
  case 88:
1158
- if (!(params.site_footer && !(0, _utils.isString)(params.site_footer))) {
1163
+ if (!(params.site_header && !(0, _utils.isString)(params.site_header))) {
1159
1164
  _context3.next = 90;
1160
1165
  break;
1161
1166
  }
1162
- throw new errors.InvalidParameterError("Bad parameter: site_footer must be of type String, received ".concat((0, _utils.getType)(params.site_footer)));
1167
+ throw new errors.InvalidParameterError("Bad parameter: site_header must be of type String, received ".concat((0, _utils.getType)(params.site_header)));
1163
1168
  case 90:
1164
- if (!(params.login_help_text && !(0, _utils.isString)(params.login_help_text))) {
1169
+ if (!(params.site_footer && !(0, _utils.isString)(params.site_footer))) {
1165
1170
  _context3.next = 92;
1166
1171
  break;
1167
1172
  }
1168
- throw new errors.InvalidParameterError("Bad parameter: login_help_text must be of type String, received ".concat((0, _utils.getType)(params.login_help_text)));
1173
+ throw new errors.InvalidParameterError("Bad parameter: site_footer must be of type String, received ".concat((0, _utils.getType)(params.site_footer)));
1169
1174
  case 92:
1170
- if (!(params.smtp_address && !(0, _utils.isString)(params.smtp_address))) {
1175
+ if (!(params.login_help_text && !(0, _utils.isString)(params.login_help_text))) {
1171
1176
  _context3.next = 94;
1172
1177
  break;
1173
1178
  }
1174
- throw new errors.InvalidParameterError("Bad parameter: smtp_address must be of type String, received ".concat((0, _utils.getType)(params.smtp_address)));
1179
+ throw new errors.InvalidParameterError("Bad parameter: login_help_text must be of type String, received ".concat((0, _utils.getType)(params.login_help_text)));
1175
1180
  case 94:
1176
- if (!(params.smtp_authentication && !(0, _utils.isString)(params.smtp_authentication))) {
1181
+ if (!(params.smtp_address && !(0, _utils.isString)(params.smtp_address))) {
1177
1182
  _context3.next = 96;
1178
1183
  break;
1179
1184
  }
1180
- throw new errors.InvalidParameterError("Bad parameter: smtp_authentication must be of type String, received ".concat((0, _utils.getType)(params.smtp_authentication)));
1185
+ throw new errors.InvalidParameterError("Bad parameter: smtp_address must be of type String, received ".concat((0, _utils.getType)(params.smtp_address)));
1181
1186
  case 96:
1182
- if (!(params.smtp_from && !(0, _utils.isString)(params.smtp_from))) {
1187
+ if (!(params.smtp_authentication && !(0, _utils.isString)(params.smtp_authentication))) {
1183
1188
  _context3.next = 98;
1184
1189
  break;
1185
1190
  }
1186
- throw new errors.InvalidParameterError("Bad parameter: smtp_from must be of type String, received ".concat((0, _utils.getType)(params.smtp_from)));
1191
+ throw new errors.InvalidParameterError("Bad parameter: smtp_authentication must be of type String, received ".concat((0, _utils.getType)(params.smtp_authentication)));
1187
1192
  case 98:
1188
- if (!(params.smtp_username && !(0, _utils.isString)(params.smtp_username))) {
1193
+ if (!(params.smtp_from && !(0, _utils.isString)(params.smtp_from))) {
1189
1194
  _context3.next = 100;
1190
1195
  break;
1191
1196
  }
1192
- throw new errors.InvalidParameterError("Bad parameter: smtp_username must be of type String, received ".concat((0, _utils.getType)(params.smtp_username)));
1197
+ throw new errors.InvalidParameterError("Bad parameter: smtp_from must be of type String, received ".concat((0, _utils.getType)(params.smtp_from)));
1193
1198
  case 100:
1194
- if (!(params.smtp_port && !(0, _utils.isInt)(params.smtp_port))) {
1199
+ if (!(params.smtp_username && !(0, _utils.isString)(params.smtp_username))) {
1195
1200
  _context3.next = 102;
1196
1201
  break;
1197
1202
  }
1198
- throw new errors.InvalidParameterError("Bad parameter: smtp_port must be of type Int, received ".concat((0, _utils.getType)(params.smtp_port)));
1203
+ throw new errors.InvalidParameterError("Bad parameter: smtp_username must be of type String, received ".concat((0, _utils.getType)(params.smtp_username)));
1199
1204
  case 102:
1200
- if (!(params.ldap_type && !(0, _utils.isString)(params.ldap_type))) {
1205
+ if (!(params.smtp_port && !(0, _utils.isInt)(params.smtp_port))) {
1201
1206
  _context3.next = 104;
1202
1207
  break;
1203
1208
  }
1204
- throw new errors.InvalidParameterError("Bad parameter: ldap_type must be of type String, received ".concat((0, _utils.getType)(params.ldap_type)));
1209
+ throw new errors.InvalidParameterError("Bad parameter: smtp_port must be of type Int, received ".concat((0, _utils.getType)(params.smtp_port)));
1205
1210
  case 104:
1206
- if (!(params.ldap_host && !(0, _utils.isString)(params.ldap_host))) {
1211
+ if (!(params.ldap_type && !(0, _utils.isString)(params.ldap_type))) {
1207
1212
  _context3.next = 106;
1208
1213
  break;
1209
1214
  }
1210
- throw new errors.InvalidParameterError("Bad parameter: ldap_host must be of type String, received ".concat((0, _utils.getType)(params.ldap_host)));
1215
+ throw new errors.InvalidParameterError("Bad parameter: ldap_type must be of type String, received ".concat((0, _utils.getType)(params.ldap_type)));
1211
1216
  case 106:
1212
- if (!(params.ldap_host_2 && !(0, _utils.isString)(params.ldap_host_2))) {
1217
+ if (!(params.ldap_host && !(0, _utils.isString)(params.ldap_host))) {
1213
1218
  _context3.next = 108;
1214
1219
  break;
1215
1220
  }
1216
- throw new errors.InvalidParameterError("Bad parameter: ldap_host_2 must be of type String, received ".concat((0, _utils.getType)(params.ldap_host_2)));
1221
+ throw new errors.InvalidParameterError("Bad parameter: ldap_host must be of type String, received ".concat((0, _utils.getType)(params.ldap_host)));
1217
1222
  case 108:
1218
- if (!(params.ldap_host_3 && !(0, _utils.isString)(params.ldap_host_3))) {
1223
+ if (!(params.ldap_host_2 && !(0, _utils.isString)(params.ldap_host_2))) {
1219
1224
  _context3.next = 110;
1220
1225
  break;
1221
1226
  }
1222
- throw new errors.InvalidParameterError("Bad parameter: ldap_host_3 must be of type String, received ".concat((0, _utils.getType)(params.ldap_host_3)));
1227
+ throw new errors.InvalidParameterError("Bad parameter: ldap_host_2 must be of type String, received ".concat((0, _utils.getType)(params.ldap_host_2)));
1223
1228
  case 110:
1224
- if (!(params.ldap_port && !(0, _utils.isInt)(params.ldap_port))) {
1229
+ if (!(params.ldap_host_3 && !(0, _utils.isString)(params.ldap_host_3))) {
1225
1230
  _context3.next = 112;
1226
1231
  break;
1227
1232
  }
1228
- throw new errors.InvalidParameterError("Bad parameter: ldap_port must be of type Int, received ".concat((0, _utils.getType)(params.ldap_port)));
1233
+ throw new errors.InvalidParameterError("Bad parameter: ldap_host_3 must be of type String, received ".concat((0, _utils.getType)(params.ldap_host_3)));
1229
1234
  case 112:
1230
- if (!(params.ldap_username && !(0, _utils.isString)(params.ldap_username))) {
1235
+ if (!(params.ldap_port && !(0, _utils.isInt)(params.ldap_port))) {
1231
1236
  _context3.next = 114;
1232
1237
  break;
1233
1238
  }
1234
- throw new errors.InvalidParameterError("Bad parameter: ldap_username must be of type String, received ".concat((0, _utils.getType)(params.ldap_username)));
1239
+ throw new errors.InvalidParameterError("Bad parameter: ldap_port must be of type Int, received ".concat((0, _utils.getType)(params.ldap_port)));
1235
1240
  case 114:
1236
- if (!(params.ldap_username_field && !(0, _utils.isString)(params.ldap_username_field))) {
1241
+ if (!(params.ldap_username && !(0, _utils.isString)(params.ldap_username))) {
1237
1242
  _context3.next = 116;
1238
1243
  break;
1239
1244
  }
1240
- throw new errors.InvalidParameterError("Bad parameter: ldap_username_field must be of type String, received ".concat((0, _utils.getType)(params.ldap_username_field)));
1245
+ throw new errors.InvalidParameterError("Bad parameter: ldap_username must be of type String, received ".concat((0, _utils.getType)(params.ldap_username)));
1241
1246
  case 116:
1242
- if (!(params.ldap_domain && !(0, _utils.isString)(params.ldap_domain))) {
1247
+ if (!(params.ldap_username_field && !(0, _utils.isString)(params.ldap_username_field))) {
1243
1248
  _context3.next = 118;
1244
1249
  break;
1245
1250
  }
1246
- throw new errors.InvalidParameterError("Bad parameter: ldap_domain must be of type String, received ".concat((0, _utils.getType)(params.ldap_domain)));
1251
+ throw new errors.InvalidParameterError("Bad parameter: ldap_username_field must be of type String, received ".concat((0, _utils.getType)(params.ldap_username_field)));
1247
1252
  case 118:
1248
- if (!(params.ldap_user_action && !(0, _utils.isString)(params.ldap_user_action))) {
1253
+ if (!(params.ldap_domain && !(0, _utils.isString)(params.ldap_domain))) {
1249
1254
  _context3.next = 120;
1250
1255
  break;
1251
1256
  }
1252
- throw new errors.InvalidParameterError("Bad parameter: ldap_user_action must be of type String, received ".concat((0, _utils.getType)(params.ldap_user_action)));
1257
+ throw new errors.InvalidParameterError("Bad parameter: ldap_domain must be of type String, received ".concat((0, _utils.getType)(params.ldap_domain)));
1253
1258
  case 120:
1254
- if (!(params.ldap_group_action && !(0, _utils.isString)(params.ldap_group_action))) {
1259
+ if (!(params.ldap_user_action && !(0, _utils.isString)(params.ldap_user_action))) {
1255
1260
  _context3.next = 122;
1256
1261
  break;
1257
1262
  }
1258
- throw new errors.InvalidParameterError("Bad parameter: ldap_group_action must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_action)));
1263
+ throw new errors.InvalidParameterError("Bad parameter: ldap_user_action must be of type String, received ".concat((0, _utils.getType)(params.ldap_user_action)));
1259
1264
  case 122:
1260
- if (!(params.ldap_user_include_groups && !(0, _utils.isString)(params.ldap_user_include_groups))) {
1265
+ if (!(params.ldap_group_action && !(0, _utils.isString)(params.ldap_group_action))) {
1261
1266
  _context3.next = 124;
1262
1267
  break;
1263
1268
  }
1264
- throw new errors.InvalidParameterError("Bad parameter: ldap_user_include_groups must be of type String, received ".concat((0, _utils.getType)(params.ldap_user_include_groups)));
1269
+ throw new errors.InvalidParameterError("Bad parameter: ldap_group_action must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_action)));
1265
1270
  case 124:
1266
- if (!(params.ldap_group_exclusion && !(0, _utils.isString)(params.ldap_group_exclusion))) {
1271
+ if (!(params.ldap_user_include_groups && !(0, _utils.isString)(params.ldap_user_include_groups))) {
1267
1272
  _context3.next = 126;
1268
1273
  break;
1269
1274
  }
1270
- throw new errors.InvalidParameterError("Bad parameter: ldap_group_exclusion must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_exclusion)));
1275
+ throw new errors.InvalidParameterError("Bad parameter: ldap_user_include_groups must be of type String, received ".concat((0, _utils.getType)(params.ldap_user_include_groups)));
1271
1276
  case 126:
1272
- if (!(params.ldap_group_inclusion && !(0, _utils.isString)(params.ldap_group_inclusion))) {
1277
+ if (!(params.ldap_group_exclusion && !(0, _utils.isString)(params.ldap_group_exclusion))) {
1273
1278
  _context3.next = 128;
1274
1279
  break;
1275
1280
  }
1276
- throw new errors.InvalidParameterError("Bad parameter: ldap_group_inclusion must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_inclusion)));
1281
+ throw new errors.InvalidParameterError("Bad parameter: ldap_group_exclusion must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_exclusion)));
1277
1282
  case 128:
1278
- if (!(params.ldap_base_dn && !(0, _utils.isString)(params.ldap_base_dn))) {
1283
+ if (!(params.ldap_group_inclusion && !(0, _utils.isString)(params.ldap_group_inclusion))) {
1279
1284
  _context3.next = 130;
1280
1285
  break;
1281
1286
  }
1282
- throw new errors.InvalidParameterError("Bad parameter: ldap_base_dn must be of type String, received ".concat((0, _utils.getType)(params.ldap_base_dn)));
1287
+ throw new errors.InvalidParameterError("Bad parameter: ldap_group_inclusion must be of type String, received ".concat((0, _utils.getType)(params.ldap_group_inclusion)));
1283
1288
  case 130:
1284
- if (!(params.ldap_password_change && !(0, _utils.isString)(params.ldap_password_change))) {
1289
+ if (!(params.ldap_base_dn && !(0, _utils.isString)(params.ldap_base_dn))) {
1285
1290
  _context3.next = 132;
1286
1291
  break;
1287
1292
  }
1288
- throw new errors.InvalidParameterError("Bad parameter: ldap_password_change must be of type String, received ".concat((0, _utils.getType)(params.ldap_password_change)));
1293
+ throw new errors.InvalidParameterError("Bad parameter: ldap_base_dn must be of type String, received ".concat((0, _utils.getType)(params.ldap_base_dn)));
1289
1294
  case 132:
1290
- if (!(params.ldap_password_change_confirmation && !(0, _utils.isString)(params.ldap_password_change_confirmation))) {
1295
+ if (!(params.ldap_password_change && !(0, _utils.isString)(params.ldap_password_change))) {
1291
1296
  _context3.next = 134;
1292
1297
  break;
1293
1298
  }
1294
- throw new errors.InvalidParameterError("Bad parameter: ldap_password_change_confirmation must be of type String, received ".concat((0, _utils.getType)(params.ldap_password_change_confirmation)));
1299
+ throw new errors.InvalidParameterError("Bad parameter: ldap_password_change must be of type String, received ".concat((0, _utils.getType)(params.ldap_password_change)));
1295
1300
  case 134:
1296
- if (!(params.smtp_password && !(0, _utils.isString)(params.smtp_password))) {
1301
+ if (!(params.ldap_password_change_confirmation && !(0, _utils.isString)(params.ldap_password_change_confirmation))) {
1297
1302
  _context3.next = 136;
1298
1303
  break;
1299
1304
  }
1300
- throw new errors.InvalidParameterError("Bad parameter: smtp_password must be of type String, received ".concat((0, _utils.getType)(params.smtp_password)));
1305
+ throw new errors.InvalidParameterError("Bad parameter: ldap_password_change_confirmation must be of type String, received ".concat((0, _utils.getType)(params.ldap_password_change_confirmation)));
1301
1306
  case 136:
1302
- if (!(params.session_expiry_minutes && !(0, _utils.isInt)(params.session_expiry_minutes))) {
1307
+ if (!(params.smtp_password && !(0, _utils.isString)(params.smtp_password))) {
1303
1308
  _context3.next = 138;
1304
1309
  break;
1305
1310
  }
1306
- throw new errors.InvalidParameterError("Bad parameter: session_expiry_minutes must be of type Int, received ".concat((0, _utils.getType)(params.session_expiry_minutes)));
1311
+ throw new errors.InvalidParameterError("Bad parameter: smtp_password must be of type String, received ".concat((0, _utils.getType)(params.smtp_password)));
1307
1312
  case 138:
1308
- _context3.next = 140;
1309
- return _Api.default.sendRequest('/site', 'PATCH', params, options);
1313
+ if (!(params.session_expiry_minutes && !(0, _utils.isInt)(params.session_expiry_minutes))) {
1314
+ _context3.next = 140;
1315
+ break;
1316
+ }
1317
+ throw new errors.InvalidParameterError("Bad parameter: session_expiry_minutes must be of type Int, received ".concat((0, _utils.getType)(params.session_expiry_minutes)));
1310
1318
  case 140:
1319
+ _context3.next = 142;
1320
+ return _Api.default.sendRequest('/site', 'PATCH', params, options);
1321
+ case 142:
1311
1322
  response = _context3.sent;
1312
1323
  return _context3.abrupt("return", new _Site(response === null || response === void 0 ? void 0 : response.data, options));
1313
- case 142:
1324
+ case 144:
1314
1325
  case "end":
1315
1326
  return _context3.stop();
1316
1327
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "files.com",
3
- "version": "1.2.137",
3
+ "version": "1.2.139",
4
4
  "description": "Files.com SDK for JavaScript",
5
5
  "keywords": [
6
6
  "files.com",
package/src/Files.js CHANGED
@@ -5,7 +5,7 @@ const endpointPrefix = '/api/rest/v1'
5
5
  let apiKey
6
6
  let baseUrl = 'https://app.files.com'
7
7
  let sessionId = null
8
- const version = '1.2.137'
8
+ const version = '1.2.139'
9
9
  let userAgent = `Files.com JavaScript SDK v${version}`
10
10
 
11
11
  let logLevel = LogLevel.INFO
@@ -476,7 +476,6 @@ class Automation {
476
476
  // filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.
477
477
  // filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.
478
478
  // filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`.
479
- // with_deleted - boolean - Set to true to include deleted automations in the results.
480
479
  static list = async (params = {}, options = {}) => {
481
480
  if (params.cursor && !isString(params.cursor)) {
482
481
  throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(params.cursor)}`)
@@ -157,6 +157,9 @@ class Site {
157
157
  // int64 # Number of days to keep deleted files
158
158
  getDaysToRetainBackups = () => this.attributes.days_to_retain_backups
159
159
 
160
+ // string # If true, allow public viewers of Bundles with full permissions to use document editing integrations.
161
+ getDocumentEditsInBundleAllowed = () => this.attributes.document_edits_in_bundle_allowed
162
+
160
163
  // string # Site default time zone
161
164
  getDefaultTimeZone = () => this.attributes.default_time_zone
162
165
 
@@ -316,10 +319,10 @@ class Site {
316
319
  // string # Next billing date
317
320
  getNextBillingDate = () => this.attributes.next_billing_date
318
321
 
319
- // boolean # Allow users to use Office for the web?
322
+ // boolean # If true, allows users to use a document editing integration.
320
323
  getOfficeIntegrationAvailable = () => this.attributes.office_integration_available
321
324
 
322
- // string # Office integration application used to edit and view the MS Office documents
325
+ // string # Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
323
326
  getOfficeIntegrationType = () => this.attributes.office_integration_type
324
327
 
325
328
  // string # Link to scheduling a meeting with our Sales team
@@ -552,8 +555,8 @@ class Site {
552
555
  // mobile_app_session_lifetime - int64 - Mobile app session lifetime (in hours)
553
556
  // folder_permissions_groups_only - boolean - If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
554
557
  // welcome_screen - string - Does the welcome screen appear?
555
- // office_integration_available - boolean - Allow users to use Office for the web?
556
- // office_integration_type - string - Office integration application used to edit and view the MS Office documents
558
+ // office_integration_available - boolean - If true, allows users to use a document editing integration.
559
+ // office_integration_type - string - Which document editing integration to support. Files.com Editor or Microsoft Office for the Web.
557
560
  // pin_all_remote_servers_to_site_region - boolean - If true, we will ensure that all internal communications with any remote server are made through the primary region of the site. This setting overrides individual remote server settings.
558
561
  // motd_text - string - A message to show users when they connect via FTP or SFTP.
559
562
  // motd_use_for_ftp - boolean - Show message to users connecting via FTP
@@ -597,6 +600,7 @@ class Site {
597
600
  // bundle_registration_notifications - string - Do Bundle owners receive registration notification?
598
601
  // bundle_activity_notifications - string - Do Bundle owners receive activity notifications?
599
602
  // bundle_upload_receipt_notifications - string - Do Bundle uploaders receive upload confirmation notifications?
603
+ // document_edits_in_bundle_allowed - string - If true, allow public viewers of Bundles with full permissions to use document editing integrations.
600
604
  // password_requirements_apply_to_bundles - boolean - Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?
601
605
  // prevent_root_permissions_for_non_site_admins - boolean - If true, we will prevent non-administrators from receiving any permissions directly on the root folder. This is commonly used to prevent the accidental application of permissions.
602
606
  // opt_out_global - boolean - Use servers in the USA only?
@@ -809,6 +813,10 @@ class Site {
809
813
  throw new errors.InvalidParameterError(`Bad parameter: bundle_upload_receipt_notifications must be of type String, received ${getType(params.bundle_upload_receipt_notifications)}`)
810
814
  }
811
815
 
816
+ if (params.document_edits_in_bundle_allowed && !isString(params.document_edits_in_bundle_allowed)) {
817
+ throw new errors.InvalidParameterError(`Bad parameter: document_edits_in_bundle_allowed must be of type String, received ${getType(params.document_edits_in_bundle_allowed)}`)
818
+ }
819
+
812
820
  if (params.disable_users_from_inactivity_period_days && !isInt(params.disable_users_from_inactivity_period_days)) {
813
821
  throw new errors.InvalidParameterError(`Bad parameter: disable_users_from_inactivity_period_days must be of type Int, received ${getType(params.disable_users_from_inactivity_period_days)}`)
814
822
  }