files.com 1.0.235 → 1.0.237

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. package/_VERSION +1 -1
  2. package/docs/models/Bundle.md +9 -2
  3. package/docs/models/BundleNotification.md +35 -0
  4. package/docs/models/BundleRegistration.md +3 -1
  5. package/docs/models/InboxRegistration.md +3 -1
  6. package/docs/models/Site.md +2 -0
  7. package/lib/Api.js +153 -159
  8. package/lib/isomorphic/File.node.js +24 -28
  9. package/lib/models/ActionNotificationExport.js +97 -101
  10. package/lib/models/ActionNotificationExportResult.js +44 -46
  11. package/lib/models/ActionWebhookFailure.js +42 -44
  12. package/lib/models/ApiKey.js +271 -287
  13. package/lib/models/App.js +26 -28
  14. package/lib/models/As2IncomingMessage.js +32 -34
  15. package/lib/models/As2OutgoingMessage.js +32 -34
  16. package/lib/models/As2Partner.js +231 -241
  17. package/lib/models/As2Station.js +219 -229
  18. package/lib/models/Automation.js +333 -343
  19. package/lib/models/AutomationRun.js +75 -79
  20. package/lib/models/BandwidthSnapshot.js +26 -28
  21. package/lib/models/Behavior.js +323 -337
  22. package/lib/models/Bundle.js +381 -387
  23. package/lib/models/BundleDownload.js +38 -40
  24. package/lib/models/BundleNotification.js +223 -173
  25. package/lib/models/BundleRecipient.js +104 -108
  26. package/lib/models/BundleRegistration.js +41 -40
  27. package/lib/models/Clickwrap.js +213 -223
  28. package/lib/models/DnsRecord.js +26 -28
  29. package/lib/models/ExternalEvent.js +93 -99
  30. package/lib/models/File.js +726 -766
  31. package/lib/models/FileComment.js +180 -188
  32. package/lib/models/FileCommentReaction.js +84 -88
  33. package/lib/models/FileMigration.js +31 -33
  34. package/lib/models/Folder.js +94 -98
  35. package/lib/models/FormFieldSet.js +189 -199
  36. package/lib/models/Group.js +207 -217
  37. package/lib/models/GroupUser.js +230 -238
  38. package/lib/models/History.js +266 -276
  39. package/lib/models/HistoryExport.js +175 -179
  40. package/lib/models/HistoryExportResult.js +44 -46
  41. package/lib/models/InboxRecipient.js +104 -108
  42. package/lib/models/InboxRegistration.js +35 -34
  43. package/lib/models/InboxUpload.js +38 -40
  44. package/lib/models/Invoice.js +57 -61
  45. package/lib/models/IpAddress.js +78 -84
  46. package/lib/models/Lock.js +148 -154
  47. package/lib/models/Message.js +267 -277
  48. package/lib/models/MessageComment.js +207 -217
  49. package/lib/models/MessageCommentReaction.js +147 -155
  50. package/lib/models/MessageReaction.js +147 -155
  51. package/lib/models/Notification.js +255 -265
  52. package/lib/models/Payment.js +57 -61
  53. package/lib/models/Permission.js +128 -134
  54. package/lib/models/Priority.js +45 -47
  55. package/lib/models/Project.js +183 -193
  56. package/lib/models/PublicKey.js +207 -217
  57. package/lib/models/RemoteBandwidthSnapshot.js +26 -28
  58. package/lib/models/RemoteServer.js +805 -819
  59. package/lib/models/Request.js +166 -174
  60. package/lib/models/Session.js +47 -51
  61. package/lib/models/SettingsChange.js +26 -28
  62. package/lib/models/SftpHostKey.js +177 -187
  63. package/lib/models/Site.js +415 -418
  64. package/lib/models/SsoStrategy.js +99 -105
  65. package/lib/models/Style.js +127 -133
  66. package/lib/models/UsageDailySnapshot.js +26 -28
  67. package/lib/models/UsageSnapshot.js +26 -28
  68. package/lib/models/User.js +587 -603
  69. package/lib/models/UserCipherUse.js +32 -34
  70. package/lib/models/UserRequest.js +147 -155
  71. package/lib/models/WebhookTest.js +54 -56
  72. package/package.json +1 -1
  73. package/src/models/Bundle.js +10 -1
  74. package/src/models/BundleNotification.js +39 -1
  75. package/src/models/BundleRegistration.js +3 -0
  76. package/src/models/InboxRegistration.js +3 -0
  77. package/src/models/Site.js +3 -0
package/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.235
1
+ 1.0.237
@@ -24,6 +24,7 @@
24
24
  "max_uses": 1,
25
25
  "note": "The internal note on the bundle.",
26
26
  "path_template": "{{name}}_{{ip}}",
27
+ "send_email_receipt_to_uploader": true,
27
28
  "user_id": 1,
28
29
  "username": "user",
29
30
  "clickwrap_id": 1,
@@ -59,6 +60,7 @@
59
60
  * `max_uses` (int64): Maximum number of times bundle can be accessed
60
61
  * `note` (string): Bundle internal note
61
62
  * `path_template` (string): Template for creating submission subfolders. Can use the uploader's name, email address, ip, company, and any custom form data.
63
+ * `send_email_receipt_to_uploader` (boolean): Send delivery receipt to the uploader. Note: For writable share only
62
64
  * `user_id` (int64): Bundle creator user ID
63
65
  * `username` (string): Bundle creator username
64
66
  * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
@@ -133,6 +135,7 @@ await Bundle.create({
133
135
  'clickwrap_id': 1,
134
136
  'inbox_id': 1,
135
137
  'require_share_recipient': true,
138
+ 'send_email_receipt_to_uploader': true,
136
139
  'skip_email': true,
137
140
  'skip_name': true,
138
141
  'skip_company': true,
@@ -159,6 +162,7 @@ await Bundle.create({
159
162
  * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
160
163
  * `inbox_id` (int64): ID of the associated inbox, if available.
161
164
  * `require_share_recipient` (boolean): Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?
165
+ * `send_email_receipt_to_uploader` (boolean): Send delivery receipt to the uploader. Note: For writable share only
162
166
  * `skip_email` (boolean): BundleRegistrations can be saved without providing email?
163
167
  * `skip_name` (boolean): BundleRegistrations can be saved without providing name?
164
168
  * `skip_company` (boolean): BundleRegistrations can be saved without providing company?
@@ -210,9 +214,10 @@ await bundle.update({
210
214
  'preview_only': true,
211
215
  'require_registration': true,
212
216
  'require_share_recipient': true,
217
+ 'send_email_receipt_to_uploader': true,
218
+ 'skip_company': true,
213
219
  'skip_email': true,
214
220
  'skip_name': true,
215
- 'skip_company': true,
216
221
  'watermark_attachment_delete': true,
217
222
  })
218
223
  ```
@@ -236,9 +241,10 @@ await bundle.update({
236
241
  * `preview_only` (boolean): Restrict users to previewing files only?
237
242
  * `require_registration` (boolean): Show a registration page that captures the downloader's name and email address?
238
243
  * `require_share_recipient` (boolean): Only allow access to recipients who have explicitly received the share via an email sent through the Files.com UI?
244
+ * `send_email_receipt_to_uploader` (boolean): Send delivery receipt to the uploader. Note: For writable share only
245
+ * `skip_company` (boolean): BundleRegistrations can be saved without providing company?
239
246
  * `skip_email` (boolean): BundleRegistrations can be saved without providing email?
240
247
  * `skip_name` (boolean): BundleRegistrations can be saved without providing name?
241
- * `skip_company` (boolean): BundleRegistrations can be saved without providing company?
242
248
  * `watermark_attachment_delete` (boolean): If true, will delete the file stored in watermark_attachment
243
249
  * `watermark_attachment_file` (file): Preview watermark image applied to all bundle items.
244
250
 
@@ -266,6 +272,7 @@ await bundle.update({
266
272
  "max_uses": 1,
267
273
  "note": "The internal note on the bundle.",
268
274
  "path_template": "{{name}}_{{ip}}",
275
+ "send_email_receipt_to_uploader": true,
269
276
  "user_id": 1,
270
277
  "username": "user",
271
278
  "clickwrap_id": 1,
@@ -7,6 +7,7 @@
7
7
  "bundle_id": 1,
8
8
  "id": 1,
9
9
  "notify_on_registration": true,
10
+ "notify_on_upload": true,
10
11
  "user_id": 1
11
12
  }
12
13
  ```
@@ -14,6 +15,7 @@
14
15
  * `bundle_id` (int64): Bundle ID to notify on
15
16
  * `id` (int64): Bundle Notification ID
16
17
  * `notify_on_registration` (boolean): Triggers bundle notification when a registration action occurs for it.
18
+ * `notify_on_upload` (boolean): Triggers bundle notification when a upload action occurs for it.
17
19
  * `user_id` (int64): The id of the user to notify.
18
20
 
19
21
  ---
@@ -57,6 +59,7 @@ await BundleNotification.find(id)
57
59
  await BundleNotification.create({
58
60
  'user_id': 1,
59
61
  'notify_on_registration': true,
62
+ 'notify_on_upload': true,
60
63
  'bundle_id': 1,
61
64
  })
62
65
  ```
@@ -66,10 +69,42 @@ await BundleNotification.create({
66
69
 
67
70
  * `user_id` (int64): Required - The id of the user to notify.
68
71
  * `notify_on_registration` (boolean): Triggers bundle notification when a registration action occurs for it.
72
+ * `notify_on_upload` (boolean): Triggers bundle notification when a upload action occurs for it.
69
73
  * `bundle_id` (int64): Required - Bundle ID to notify on
70
74
 
71
75
  ---
72
76
 
77
+ ## Update Bundle Notification
78
+
79
+ ```
80
+ const [bundle_notification] = await BundleNotification.list()
81
+
82
+ await bundle_notification.update({
83
+ 'notify_on_registration': true,
84
+ 'notify_on_upload': true,
85
+ })
86
+ ```
87
+
88
+ ### Parameters
89
+
90
+ * `id` (int64): Required - Bundle Notification ID.
91
+ * `notify_on_registration` (boolean): Triggers bundle notification when a registration action occurs for it.
92
+ * `notify_on_upload` (boolean): Triggers bundle notification when a upload action occurs for it.
93
+
94
+ ### Example Response
95
+
96
+ ```json
97
+ {
98
+ "bundle_id": 1,
99
+ "id": 1,
100
+ "notify_on_registration": true,
101
+ "notify_on_upload": true,
102
+ "user_id": 1
103
+ }
104
+ ```
105
+
106
+ ---
107
+
73
108
  ## Delete Bundle Notification
74
109
 
75
110
  ```
@@ -17,7 +17,8 @@
17
17
  },
18
18
  "bundle_code": "example",
19
19
  "bundle_id": 1,
20
- "bundle_recipient_id": 1
20
+ "bundle_recipient_id": 1,
21
+ "created_at": "2000-01-01T01:00:00Z"
21
22
  }
22
23
  ```
23
24
 
@@ -33,6 +34,7 @@
33
34
  * `bundle_code` (string): Bundle URL code
34
35
  * `bundle_id` (int64): Id of associated bundle
35
36
  * `bundle_recipient_id` (int64): Id of associated bundle recipient
37
+ * `created_at` (date-time): Registration creation date/time
36
38
 
37
39
  ---
38
40
 
@@ -15,7 +15,8 @@
15
15
  },
16
16
  "inbox_id": 1,
17
17
  "inbox_recipient_id": 1,
18
- "inbox_title": "example"
18
+ "inbox_title": "example",
19
+ "created_at": "2000-01-01T01:00:00Z"
19
20
  }
20
21
  ```
21
22
 
@@ -29,6 +30,7 @@
29
30
  * `inbox_id` (int64): Id of associated inbox
30
31
  * `inbox_recipient_id` (int64): Id of associated inbox recipient
31
32
  * `inbox_title` (string): Title of associated inbox
33
+ * `created_at` (date-time): Registration creation date/time
32
34
 
33
35
  ---
34
36
 
@@ -124,6 +124,7 @@
124
124
  "smtp_port": 25,
125
125
  "smtp_username": "mail",
126
126
  "session_expiry": 6.0,
127
+ "session_expiry_minutes": 360,
127
128
  "ssl_required": true,
128
129
  "subdomain": "mysite",
129
130
  "switch_to_plan_date": "2000-01-01T01:00:00Z",
@@ -267,6 +268,7 @@
267
268
  * `smtp_port` (int64): SMTP server port
268
269
  * `smtp_username` (string): SMTP server username
269
270
  * `session_expiry` (double): Session expiry in hours
271
+ * `session_expiry_minutes` (int64): Session expiry in minutes
270
272
  * `ssl_required` (boolean): Is SSL required? Disabling this is insecure.
271
273
  * `subdomain` (string): Site subdomain
272
274
  * `switch_to_plan_date` (date-time): If switching plans, when does the new plan take effect?
package/lib/Api.js CHANGED
@@ -37,53 +37,51 @@ var Api = /*#__PURE__*/(0, _createClass2.default)(function Api() {
37
37
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(path, verb, options) {
38
38
  var isExternal, baseUrl, url, response;
39
39
  return _regenerator.default.wrap(function _callee$(_context) {
40
- while (1) {
41
- switch (_context.prev = _context.next) {
42
- case 0:
43
- isExternal = /^[a-zA-Z]+:\/\//.test(path);
44
- baseUrl = _Files.default.getBaseUrl();
45
- if (!(!isExternal && !baseUrl)) {
46
- _context.next = 4;
47
- break;
48
- }
49
- throw new errors.ConfigurationError('Base URL has not been set - use Files.setBaseUrl() to set it');
50
- case 4:
51
- url = isExternal ? path : "".concat(baseUrl).concat(_Files.default.getEndpointPrefix()).concat(path);
52
- _Logger.default.debug("Sending request: ".concat(verb, " ").concat(url));
53
- _Logger.default.debug('Sending options:', _objectSpread(_objectSpread({}, options), {}, {
54
- headers: _objectSpread(_objectSpread({}, options.headers), {}, {
55
- 'X-FilesAPI-Key': '<redacted>'
56
- })
57
- }));
58
- Api._configureAutoRetry();
59
- _context.prev = 8;
60
- _context.next = 11;
61
- return (0, _axios.default)(_objectSpread({
62
- method: verb,
63
- timeout: _Files.default.getNetworkTimeout() * 1000,
64
- url: url
65
- }, options));
66
- case 11:
67
- response = _context.sent;
68
- _Logger.default.debug("Status: ".concat(response.status, " ").concat(response.statusText));
69
- if (_Files.default.shouldDebugResponseHeaders()) {
70
- _Logger.default.debug('Response Headers: ');
71
- _Logger.default.debug(response.headers);
72
- }
73
- return _context.abrupt("return", {
74
- status: response.status,
75
- reason: response.statusText,
76
- headers: response.headers,
77
- data: response.data
78
- });
79
- case 17:
80
- _context.prev = 17;
81
- _context.t0 = _context["catch"](8);
82
- errors.handleErrorResponse(_context.t0);
83
- case 20:
84
- case "end":
85
- return _context.stop();
86
- }
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ isExternal = /^[a-zA-Z]+:\/\//.test(path);
43
+ baseUrl = _Files.default.getBaseUrl();
44
+ if (!(!isExternal && !baseUrl)) {
45
+ _context.next = 4;
46
+ break;
47
+ }
48
+ throw new errors.ConfigurationError('Base URL has not been set - use Files.setBaseUrl() to set it');
49
+ case 4:
50
+ url = isExternal ? path : "".concat(baseUrl).concat(_Files.default.getEndpointPrefix()).concat(path);
51
+ _Logger.default.debug("Sending request: ".concat(verb, " ").concat(url));
52
+ _Logger.default.debug('Sending options:', _objectSpread(_objectSpread({}, options), {}, {
53
+ headers: _objectSpread(_objectSpread({}, options.headers), {}, {
54
+ 'X-FilesAPI-Key': '<redacted>'
55
+ })
56
+ }));
57
+ Api._configureAutoRetry();
58
+ _context.prev = 8;
59
+ _context.next = 11;
60
+ return (0, _axios.default)(_objectSpread({
61
+ method: verb,
62
+ timeout: _Files.default.getNetworkTimeout() * 1000,
63
+ url: url
64
+ }, options));
65
+ case 11:
66
+ response = _context.sent;
67
+ _Logger.default.debug("Status: ".concat(response.status, " ").concat(response.statusText));
68
+ if (_Files.default.shouldDebugResponseHeaders()) {
69
+ _Logger.default.debug('Response Headers: ');
70
+ _Logger.default.debug(response.headers);
71
+ }
72
+ return _context.abrupt("return", {
73
+ status: response.status,
74
+ reason: response.statusText,
75
+ headers: response.headers,
76
+ data: response.data
77
+ });
78
+ case 17:
79
+ _context.prev = 17;
80
+ _context.t0 = _context["catch"](8);
81
+ errors.handleErrorResponse(_context.t0);
82
+ case 20:
83
+ case "end":
84
+ return _context.stop();
87
85
  }
88
86
  }, _callee, null, [[8, 17]]);
89
87
  }));
@@ -106,44 +104,42 @@ var Api = /*#__PURE__*/(0, _createClass2.default)(function Api() {
106
104
  var _options$autoPaginate;
107
105
  var _response$headers, nextCursor, _ref3, autoPaginateCount, previousAutoPaginateData, nextPage, nextParams, nextMetadata;
108
106
  return _regenerator.default.wrap(function _callee2$(_context2) {
109
- while (1) {
110
- switch (_context2.prev = _context2.next) {
111
- case 0:
112
- if (!((_options$autoPaginate = options.autoPaginate) !== null && _options$autoPaginate !== void 0 ? _options$autoPaginate : _Files.default.getAutoPaginate())) {
113
- _context2.next = 12;
114
- break;
115
- }
116
- nextCursor = response === null || response === void 0 ? void 0 : (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers['x-files-cursor'];
117
- _ref3 = metadata || {}, autoPaginateCount = _ref3.autoPaginateCount, previousAutoPaginateData = _ref3.previousAutoPaginateData;
118
- if (!nextCursor) {
119
- _context2.next = 10;
120
- break;
121
- }
122
- nextPage = (Number(params === null || params === void 0 ? void 0 : params.page) || 1) + 1;
123
- nextParams = _objectSpread(_objectSpread({}, params), {}, {
124
- cursor: nextCursor,
125
- page: nextPage
126
- });
127
- nextMetadata = {
128
- autoPaginateCount: (autoPaginateCount || 1) + 1,
129
- previousAutoPaginateData: [].concat((0, _toConsumableArray2.default)(previousAutoPaginateData || []), (0, _toConsumableArray2.default)((response === null || response === void 0 ? void 0 : response.data) || []))
130
- };
131
- return _context2.abrupt("return", Api.sendRequest(path, verb, nextParams, options, nextMetadata));
132
- case 10:
133
- if (!previousAutoPaginateData) {
134
- _context2.next = 12;
135
- break;
136
- }
137
- return _context2.abrupt("return", _objectSpread(_objectSpread({}, response), {}, {
138
- autoPaginateRequests: autoPaginateCount,
139
- data: [].concat((0, _toConsumableArray2.default)(previousAutoPaginateData), (0, _toConsumableArray2.default)((response === null || response === void 0 ? void 0 : response.data) || []))
140
- }));
141
- case 12:
142
- return _context2.abrupt("return", response);
143
- case 13:
144
- case "end":
145
- return _context2.stop();
146
- }
107
+ while (1) switch (_context2.prev = _context2.next) {
108
+ case 0:
109
+ if (!((_options$autoPaginate = options.autoPaginate) !== null && _options$autoPaginate !== void 0 ? _options$autoPaginate : _Files.default.getAutoPaginate())) {
110
+ _context2.next = 12;
111
+ break;
112
+ }
113
+ nextCursor = response === null || response === void 0 ? void 0 : (_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers['x-files-cursor'];
114
+ _ref3 = metadata || {}, autoPaginateCount = _ref3.autoPaginateCount, previousAutoPaginateData = _ref3.previousAutoPaginateData;
115
+ if (!nextCursor) {
116
+ _context2.next = 10;
117
+ break;
118
+ }
119
+ nextPage = (Number(params === null || params === void 0 ? void 0 : params.page) || 1) + 1;
120
+ nextParams = _objectSpread(_objectSpread({}, params), {}, {
121
+ cursor: nextCursor,
122
+ page: nextPage
123
+ });
124
+ nextMetadata = {
125
+ autoPaginateCount: (autoPaginateCount || 1) + 1,
126
+ previousAutoPaginateData: [].concat((0, _toConsumableArray2.default)(previousAutoPaginateData || []), (0, _toConsumableArray2.default)((response === null || response === void 0 ? void 0 : response.data) || []))
127
+ };
128
+ return _context2.abrupt("return", Api.sendRequest(path, verb, nextParams, options, nextMetadata));
129
+ case 10:
130
+ if (!previousAutoPaginateData) {
131
+ _context2.next = 12;
132
+ break;
133
+ }
134
+ return _context2.abrupt("return", _objectSpread(_objectSpread({}, response), {}, {
135
+ autoPaginateRequests: autoPaginateCount,
136
+ data: [].concat((0, _toConsumableArray2.default)(previousAutoPaginateData), (0, _toConsumableArray2.default)((response === null || response === void 0 ? void 0 : response.data) || []))
137
+ }));
138
+ case 12:
139
+ return _context2.abrupt("return", response);
140
+ case 13:
141
+ case "end":
142
+ return _context2.stop();
147
143
  }
148
144
  }, _callee2);
149
145
  }));
@@ -168,83 +164,81 @@ var Api = /*#__PURE__*/(0, _createClass2.default)(function Api() {
168
164
  response,
169
165
  _args3 = arguments;
170
166
  return _regenerator.default.wrap(function _callee3$(_context3) {
171
- while (1) {
172
- switch (_context3.prev = _context3.next) {
173
- case 0:
174
- params = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : null;
175
- options = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
176
- metadata = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : null;
177
- headers = _objectSpread(_objectSpread({
178
- Accept: 'application/json'
179
- }, options.headers), {}, {
180
- 'User-Agent': _Files.default.getUserAgent()
181
- });
182
- isExternal = /^[a-zA-Z]+:\/\//.test(path);
183
- if (isExternal) {
184
- _context3.next = 17;
185
- break;
186
- }
187
- sessionId = options.sessionId || _Files.default.getSessionId();
188
- if (!sessionId) {
189
- _context3.next = 11;
190
- break;
191
- }
192
- headers['X-FilesAPI-Auth'] = sessionId;
167
+ while (1) switch (_context3.prev = _context3.next) {
168
+ case 0:
169
+ params = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : null;
170
+ options = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : {};
171
+ metadata = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : null;
172
+ headers = _objectSpread(_objectSpread({
173
+ Accept: 'application/json'
174
+ }, options.headers), {}, {
175
+ 'User-Agent': _Files.default.getUserAgent()
176
+ });
177
+ isExternal = /^[a-zA-Z]+:\/\//.test(path);
178
+ if (isExternal) {
193
179
  _context3.next = 17;
194
180
  break;
195
- case 11:
196
- isCreatingSession = path === '/sessions' && verb.toUpperCase() === 'POST'; // api key cannot be used when creating a session
197
- if (isCreatingSession) {
198
- _context3.next = 17;
199
- break;
200
- }
201
- apiKey = options.apiKey || _Files.default.getApiKey();
202
- if (apiKey) {
203
- _context3.next = 16;
204
- break;
205
- }
206
- throw new errors.ConfigurationError('API key has not been set - use Files.setApiKey() to set it');
207
- case 16:
208
- headers['X-FilesAPI-Key'] = apiKey;
209
- case 17:
210
- updatedOptions = _objectSpread(_objectSpread({}, options), {}, {
211
- headers: headers
212
- });
213
- requestPath = path;
214
- hasParams = (0, _utils.isObject)(params) && !(0, _utils.isEmpty)(params);
215
- if (hasParams) {
216
- if (verb.toUpperCase() === 'GET') {
217
- pairs = Object.entries(params).map(function (_ref5) {
218
- var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
219
- key = _ref6[0],
220
- value = _ref6[1];
221
- return "".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value));
222
- });
223
- requestPath += path.includes('?') ? '&' : '?';
224
- requestPath += pairs.join('&');
225
- } else {
226
- updatedOptions.data = JSON.stringify(params);
227
- headers['Content-Type'] = 'application/json';
228
- }
229
- }
230
- if (_Files.default.shouldDebugRequest()) {
231
- _Logger.default.debug('Request Options:');
232
- _Logger.default.debug(_objectSpread(_objectSpread({}, updatedOptions), {}, {
233
- data: hasParams ? "payload keys: ".concat(Object.keys(params).join(', ')) : '(none)',
234
- headers: _objectSpread(_objectSpread({}, headers), {}, {
235
- 'X-FilesAPI-Key': '<redacted>'
236
- })
237
- }));
181
+ }
182
+ sessionId = options.sessionId || _Files.default.getSessionId();
183
+ if (!sessionId) {
184
+ _context3.next = 11;
185
+ break;
186
+ }
187
+ headers['X-FilesAPI-Auth'] = sessionId;
188
+ _context3.next = 17;
189
+ break;
190
+ case 11:
191
+ isCreatingSession = path === '/sessions' && verb.toUpperCase() === 'POST'; // api key cannot be used when creating a session
192
+ if (isCreatingSession) {
193
+ _context3.next = 17;
194
+ break;
195
+ }
196
+ apiKey = options.apiKey || _Files.default.getApiKey();
197
+ if (apiKey) {
198
+ _context3.next = 16;
199
+ break;
200
+ }
201
+ throw new errors.ConfigurationError('API key has not been set - use Files.setApiKey() to set it');
202
+ case 16:
203
+ headers['X-FilesAPI-Key'] = apiKey;
204
+ case 17:
205
+ updatedOptions = _objectSpread(_objectSpread({}, options), {}, {
206
+ headers: headers
207
+ });
208
+ requestPath = path;
209
+ hasParams = (0, _utils.isObject)(params) && !(0, _utils.isEmpty)(params);
210
+ if (hasParams) {
211
+ if (verb.toUpperCase() === 'GET') {
212
+ pairs = Object.entries(params).map(function (_ref5) {
213
+ var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
214
+ key = _ref6[0],
215
+ value = _ref6[1];
216
+ return "".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value));
217
+ });
218
+ requestPath += path.includes('?') ? '&' : '?';
219
+ requestPath += pairs.join('&');
220
+ } else {
221
+ updatedOptions.data = JSON.stringify(params);
222
+ headers['Content-Type'] = 'application/json';
238
223
  }
239
- _context3.next = 24;
240
- return Api._sendVerbatim(requestPath, verb, updatedOptions);
241
- case 24:
242
- response = _context3.sent;
243
- return _context3.abrupt("return", Api._autoPaginate(path, verb, params, updatedOptions, response, metadata));
244
- case 26:
245
- case "end":
246
- return _context3.stop();
247
- }
224
+ }
225
+ if (_Files.default.shouldDebugRequest()) {
226
+ _Logger.default.debug('Request Options:');
227
+ _Logger.default.debug(_objectSpread(_objectSpread({}, updatedOptions), {}, {
228
+ data: hasParams ? "payload keys: ".concat(Object.keys(params).join(', ')) : '(none)',
229
+ headers: _objectSpread(_objectSpread({}, headers), {}, {
230
+ 'X-FilesAPI-Key': '<redacted>'
231
+ })
232
+ }));
233
+ }
234
+ _context3.next = 24;
235
+ return Api._sendVerbatim(requestPath, verb, updatedOptions);
236
+ case 24:
237
+ response = _context3.sent;
238
+ return _context3.abrupt("return", Api._autoPaginate(path, verb, params, updatedOptions, response, metadata));
239
+ case 26:
240
+ case "end":
241
+ return _context3.stop();
248
242
  }
249
243
  }, _callee3);
250
244
  }));
@@ -18,22 +18,20 @@ exports.openDiskFileWriteStream = openDiskFileWriteStream;
18
18
  var saveUrlToStream = /*#__PURE__*/function () {
19
19
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, stream) {
20
20
  return _regenerator.default.wrap(function _callee$(_context) {
21
- while (1) {
22
- switch (_context.prev = _context.next) {
23
- case 0:
24
- return _context.abrupt("return", new Promise(function (resolve, reject) {
25
- var https = require('https');
26
- https.get(url, function (response) {
27
- response.pipe(stream);
28
- stream.on('finish', resolve);
29
- }).on('error', function (error) {
30
- reject(error);
31
- });
32
- }));
33
- case 1:
34
- case "end":
35
- return _context.stop();
36
- }
21
+ while (1) switch (_context.prev = _context.next) {
22
+ case 0:
23
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
24
+ var https = require('https');
25
+ https.get(url, function (response) {
26
+ response.pipe(stream);
27
+ stream.on('finish', resolve);
28
+ }).on('error', function (error) {
29
+ reject(error);
30
+ });
31
+ }));
32
+ case 1:
33
+ case "end":
34
+ return _context.stop();
37
35
  }
38
36
  }, _callee);
39
37
  }));
@@ -46,18 +44,16 @@ var saveUrlToFile = /*#__PURE__*/function () {
46
44
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url, destinationPath) {
47
45
  var stream;
48
46
  return _regenerator.default.wrap(function _callee2$(_context2) {
49
- while (1) {
50
- switch (_context2.prev = _context2.next) {
51
- case 0:
52
- stream = openDiskFileWriteStream(destinationPath);
53
- _context2.next = 3;
54
- return saveUrlToStream(url, stream);
55
- case 3:
56
- stream.close();
57
- case 4:
58
- case "end":
59
- return _context2.stop();
60
- }
47
+ while (1) switch (_context2.prev = _context2.next) {
48
+ case 0:
49
+ stream = openDiskFileWriteStream(destinationPath);
50
+ _context2.next = 3;
51
+ return saveUrlToStream(url, stream);
52
+ case 3:
53
+ stream.close();
54
+ case 4:
55
+ case "end":
56
+ return _context2.stop();
61
57
  }
62
58
  }, _callee2);
63
59
  }));