files.com 1.0.190 → 1.0.193

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. package/_VERSION +1 -1
  2. package/docs/Errors.md +186 -0
  3. package/docs/models/AccountLineItem.md +53 -0
  4. package/docs/models/Action.md +37 -0
  5. package/docs/models/ActionNotificationExport.md +82 -0
  6. package/docs/models/ActionNotificationExportResult.md +49 -0
  7. package/docs/models/ActionWebhookFailure.md +16 -0
  8. package/docs/models/ApiKey.md +183 -0
  9. package/docs/models/App.md +66 -0
  10. package/docs/models/As2IncomingMessage.md +104 -0
  11. package/docs/models/As2OutgoingMessage.md +96 -0
  12. package/docs/models/As2Partner.md +141 -0
  13. package/docs/models/As2Station.md +142 -0
  14. package/docs/models/Auto.md +11 -0
  15. package/docs/models/Automation.md +257 -0
  16. package/docs/models/AutomationRun.md +61 -0
  17. package/docs/models/BandwidthSnapshot.md +50 -0
  18. package/docs/models/Behavior.md +195 -0
  19. package/docs/models/Bundle.md +330 -0
  20. package/docs/models/BundleDownload.md +44 -0
  21. package/docs/models/BundleRecipient.md +76 -0
  22. package/docs/models/BundleRegistration.md +53 -0
  23. package/docs/models/Clickwrap.md +120 -0
  24. package/docs/models/DnsRecord.md +33 -0
  25. package/docs/models/Errors.md +17 -0
  26. package/docs/models/ExternalEvent.md +84 -0
  27. package/docs/models/File.md +339 -0
  28. package/docs/models/FileAction.md +13 -0
  29. package/docs/models/FileComment.md +98 -0
  30. package/docs/models/FileCommentReaction.md +50 -0
  31. package/docs/models/FileMigration.md +40 -0
  32. package/docs/models/FileUploadPart.md +39 -0
  33. package/docs/models/Folder.md +90 -0
  34. package/docs/models/FormField.md +29 -0
  35. package/docs/models/FormFieldSet.md +170 -0
  36. package/docs/models/Group.md +140 -0
  37. package/docs/models/GroupUser.md +116 -0
  38. package/docs/models/History.md +151 -0
  39. package/docs/models/HistoryExport.md +130 -0
  40. package/docs/models/HistoryExportResult.md +75 -0
  41. package/docs/models/Image.md +13 -0
  42. package/docs/models/InboxRecipient.md +76 -0
  43. package/docs/models/InboxRegistration.md +47 -0
  44. package/docs/models/InboxUpload.md +42 -0
  45. package/docs/models/Invoice.md +82 -0
  46. package/docs/models/InvoiceLineItem.md +27 -0
  47. package/docs/models/IpAddress.md +51 -0
  48. package/docs/models/Lock.md +92 -0
  49. package/docs/models/Message.md +134 -0
  50. package/docs/models/MessageComment.md +114 -0
  51. package/docs/models/MessageCommentReaction.md +79 -0
  52. package/docs/models/MessageReaction.md +79 -0
  53. package/docs/models/Notification.md +241 -0
  54. package/docs/models/Payment.md +82 -0
  55. package/docs/models/PaymentLineItem.md +19 -0
  56. package/docs/models/Permission.md +94 -0
  57. package/docs/models/Preview.md +19 -0
  58. package/docs/models/Priority.md +30 -0
  59. package/docs/models/Project.md +98 -0
  60. package/docs/models/PublicIpAddress.md +17 -0
  61. package/docs/models/PublicKey.md +112 -0
  62. package/docs/models/RemoteBandwidthSnapshot.md +42 -0
  63. package/docs/models/RemoteServer.md +385 -0
  64. package/docs/models/Request.md +97 -0
  65. package/docs/models/Session.md +50 -0
  66. package/docs/models/SettingsChange.md +44 -0
  67. package/docs/models/Site.md +607 -0
  68. package/docs/models/SsoStrategy.md +139 -0
  69. package/docs/models/Status.md +30 -0
  70. package/docs/models/Style.md +76 -0
  71. package/docs/models/UsageDailySnapshot.md +56 -0
  72. package/docs/models/UsageSnapshot.md +63 -0
  73. package/docs/models/User.md +465 -0
  74. package/docs/models/UserCipherUse.md +39 -0
  75. package/docs/models/UserRequest.md +80 -0
  76. package/docs/models/WebhookTest.md +59 -0
  77. package/lib/Api.js +12 -11
  78. package/lib/Errors.js +3125 -0
  79. package/lib/models/AccountLineItem.js +8 -0
  80. package/lib/models/Action.js +8 -0
  81. package/lib/models/ActionNotificationExport.js +21 -13
  82. package/lib/models/ActionNotificationExportResult.js +13 -5
  83. package/lib/models/ActionWebhookFailure.js +12 -4
  84. package/lib/models/ApiKey.js +33 -25
  85. package/lib/models/App.js +10 -2
  86. package/lib/models/As2IncomingMessage.js +11 -3
  87. package/lib/models/As2OutgoingMessage.js +11 -3
  88. package/lib/models/As2Partner.js +34 -26
  89. package/lib/models/As2Station.js +32 -24
  90. package/lib/models/Auto.js +8 -0
  91. package/lib/models/Automation.js +51 -43
  92. package/lib/models/AutomationRun.js +16 -8
  93. package/lib/models/BandwidthSnapshot.js +10 -2
  94. package/lib/models/Behavior.js +46 -38
  95. package/lib/models/Bundle.js +51 -43
  96. package/lib/models/BundleDownload.js +12 -4
  97. package/lib/models/BundleRecipient.js +22 -14
  98. package/lib/models/BundleRegistration.js +12 -4
  99. package/lib/models/Clickwrap.js +31 -23
  100. package/lib/models/DnsRecord.js +10 -2
  101. package/lib/models/Errors.js +8 -0
  102. package/lib/models/ExternalEvent.js +18 -10
  103. package/lib/models/File.js +68 -60
  104. package/lib/models/FileAction.js +8 -0
  105. package/lib/models/FileComment.js +27 -19
  106. package/lib/models/FileCommentReaction.js +18 -10
  107. package/lib/models/FileMigration.js +11 -3
  108. package/lib/models/FileUploadPart.js +8 -0
  109. package/lib/models/Folder.js +19 -11
  110. package/lib/models/FormField.js +8 -0
  111. package/lib/models/FormFieldSet.js +27 -19
  112. package/lib/models/Group.js +30 -22
  113. package/lib/models/GroupUser.js +32 -24
  114. package/lib/models/History.js +42 -34
  115. package/lib/models/HistoryExport.js +34 -26
  116. package/lib/models/HistoryExportResult.js +13 -5
  117. package/lib/models/Image.js +8 -0
  118. package/lib/models/InboxRecipient.js +22 -14
  119. package/lib/models/InboxRegistration.js +11 -3
  120. package/lib/models/InboxUpload.js +12 -4
  121. package/lib/models/Invoice.js +13 -5
  122. package/lib/models/InvoiceLineItem.js +8 -0
  123. package/lib/models/IpAddress.js +12 -4
  124. package/lib/models/Lock.js +24 -16
  125. package/lib/models/Message.js +37 -29
  126. package/lib/models/MessageComment.js +29 -21
  127. package/lib/models/MessageCommentReaction.js +24 -16
  128. package/lib/models/MessageReaction.js +24 -16
  129. package/lib/models/Notification.js +38 -30
  130. package/lib/models/Payment.js +13 -5
  131. package/lib/models/PaymentLineItem.js +8 -0
  132. package/lib/models/Permission.js +23 -15
  133. package/lib/models/Preview.js +8 -0
  134. package/lib/models/Priority.js +13 -5
  135. package/lib/models/Project.js +25 -17
  136. package/lib/models/PublicIpAddress.js +8 -0
  137. package/lib/models/PublicKey.js +29 -21
  138. package/lib/models/RemoteBandwidthSnapshot.js +10 -2
  139. package/lib/models/RemoteServer.js +113 -105
  140. package/lib/models/Request.js +27 -19
  141. package/lib/models/Session.js +13 -5
  142. package/lib/models/SettingsChange.js +10 -2
  143. package/lib/models/Site.js +65 -57
  144. package/lib/models/SsoStrategy.js +17 -9
  145. package/lib/models/Status.js +8 -0
  146. package/lib/models/Style.js +20 -12
  147. package/lib/models/UsageDailySnapshot.js +10 -2
  148. package/lib/models/UsageSnapshot.js +10 -2
  149. package/lib/models/User.js +85 -77
  150. package/lib/models/UserCipherUse.js +11 -3
  151. package/lib/models/UserRequest.js +24 -16
  152. package/lib/models/WebhookTest.js +16 -8
  153. package/package.json +1 -1
  154. package/src/Api.js +4 -8
  155. package/src/Errors.js +221 -0
  156. package/src/models/AccountLineItem.js +1 -0
  157. package/src/models/Action.js +1 -0
  158. package/src/models/ActionNotificationExport.js +14 -13
  159. package/src/models/ActionNotificationExportResult.js +6 -5
  160. package/src/models/ActionWebhookFailure.js +5 -4
  161. package/src/models/ApiKey.js +26 -25
  162. package/src/models/App.js +3 -2
  163. package/src/models/As2IncomingMessage.js +4 -3
  164. package/src/models/As2OutgoingMessage.js +4 -3
  165. package/src/models/As2Partner.js +27 -26
  166. package/src/models/As2Station.js +25 -24
  167. package/src/models/Auto.js +1 -0
  168. package/src/models/Automation.js +44 -43
  169. package/src/models/AutomationRun.js +9 -8
  170. package/src/models/BandwidthSnapshot.js +3 -2
  171. package/src/models/Behavior.js +39 -38
  172. package/src/models/Bundle.js +44 -43
  173. package/src/models/BundleDownload.js +5 -4
  174. package/src/models/BundleRecipient.js +15 -14
  175. package/src/models/BundleRegistration.js +5 -4
  176. package/src/models/Clickwrap.js +24 -23
  177. package/src/models/DnsRecord.js +3 -2
  178. package/src/models/Errors.js +1 -0
  179. package/src/models/ExternalEvent.js +11 -10
  180. package/src/models/File.js +61 -60
  181. package/src/models/FileAction.js +1 -0
  182. package/src/models/FileComment.js +20 -19
  183. package/src/models/FileCommentReaction.js +11 -10
  184. package/src/models/FileMigration.js +4 -3
  185. package/src/models/FileUploadPart.js +1 -0
  186. package/src/models/Folder.js +12 -11
  187. package/src/models/FormField.js +1 -0
  188. package/src/models/FormFieldSet.js +20 -19
  189. package/src/models/Group.js +23 -22
  190. package/src/models/GroupUser.js +25 -24
  191. package/src/models/History.js +35 -34
  192. package/src/models/HistoryExport.js +27 -26
  193. package/src/models/HistoryExportResult.js +6 -5
  194. package/src/models/Image.js +1 -0
  195. package/src/models/InboxRecipient.js +15 -14
  196. package/src/models/InboxRegistration.js +4 -3
  197. package/src/models/InboxUpload.js +5 -4
  198. package/src/models/Invoice.js +6 -5
  199. package/src/models/InvoiceLineItem.js +1 -0
  200. package/src/models/IpAddress.js +5 -4
  201. package/src/models/Lock.js +17 -16
  202. package/src/models/Message.js +30 -29
  203. package/src/models/MessageComment.js +22 -21
  204. package/src/models/MessageCommentReaction.js +17 -16
  205. package/src/models/MessageReaction.js +17 -16
  206. package/src/models/Notification.js +31 -30
  207. package/src/models/Payment.js +6 -5
  208. package/src/models/PaymentLineItem.js +1 -0
  209. package/src/models/Permission.js +16 -15
  210. package/src/models/Preview.js +1 -0
  211. package/src/models/Priority.js +6 -5
  212. package/src/models/Project.js +18 -17
  213. package/src/models/PublicIpAddress.js +1 -0
  214. package/src/models/PublicKey.js +22 -21
  215. package/src/models/RemoteBandwidthSnapshot.js +3 -2
  216. package/src/models/RemoteServer.js +106 -105
  217. package/src/models/Request.js +20 -19
  218. package/src/models/Session.js +6 -5
  219. package/src/models/SettingsChange.js +3 -2
  220. package/src/models/Site.js +58 -57
  221. package/src/models/SsoStrategy.js +10 -9
  222. package/src/models/Status.js +1 -0
  223. package/src/models/Style.js +13 -12
  224. package/src/models/UsageDailySnapshot.js +3 -2
  225. package/src/models/UsageSnapshot.js +3 -2
  226. package/src/models/User.js +78 -77
  227. package/src/models/UserCipherUse.js +4 -3
  228. package/src/models/UserRequest.js +17 -16
  229. package/src/models/WebhookTest.js +9 -8
  230. package/test/src/index.js +46 -0
@@ -1,4 +1,5 @@
1
1
  import Api from '../Api'
2
+ import * as errors from '../Errors'
2
3
  import Logger from '../Logger'
3
4
  import { getType, isArray, isBrowser, isInt, isObject, isString } from '../utils'
4
5
 
@@ -53,23 +54,23 @@ class UserRequest {
53
54
 
54
55
  delete = async (params = {}) => {
55
56
  if (!this.attributes.id) {
56
- throw new Error('Current object has no id')
57
+ throw new errors.EmptyPropertyError('Current object has no id')
57
58
  }
58
59
 
59
60
  if (!isObject(params)) {
60
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
61
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
61
62
  }
62
63
 
63
64
  params.id = this.attributes.id
64
65
  if (params['id'] && !isInt(params['id'])) {
65
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
66
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
66
67
  }
67
68
 
68
69
  if (!params['id']) {
69
70
  if (this.attributes.id) {
70
71
  params['id'] = this.id
71
72
  } else {
72
- throw new Error('Parameter missing: id')
73
+ throw new errors.MissingParameterError('Parameter missing: id')
73
74
  }
74
75
  }
75
76
 
@@ -83,7 +84,7 @@ class UserRequest {
83
84
 
84
85
  save = () => {
85
86
  if (this.attributes['id']) {
86
- throw new Error('The UserRequest object doesn\'t support updates.')
87
+ throw new errors.NotImplementedError('The UserRequest object doesn\'t support updates.')
87
88
  } else {
88
89
  const newObject = UserRequest.create(this.attributes, this.options)
89
90
  this.attributes = { ...newObject.attributes }
@@ -96,11 +97,11 @@ class UserRequest {
96
97
  // per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
97
98
  static list = async (params = {}, options = {}) => {
98
99
  if (params['cursor'] && !isString(params['cursor'])) {
99
- throw new Error(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
100
+ throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
100
101
  }
101
102
 
102
103
  if (params['per_page'] && !isInt(params['per_page'])) {
103
- throw new Error(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
104
+ throw new errors.InvalidParameterError(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
104
105
  }
105
106
 
106
107
  const response = await Api.sendRequest(`/user_requests`, 'GET', params, options)
@@ -115,17 +116,17 @@ class UserRequest {
115
116
  // id (required) - int64 - User Request ID.
116
117
  static find = async (id, params = {}, options = {}) => {
117
118
  if (!isObject(params)) {
118
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
119
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
119
120
  }
120
121
 
121
122
  params['id'] = id
122
123
 
123
124
  if (!params['id']) {
124
- throw new Error('Parameter missing: id')
125
+ throw new errors.MissingParameterError('Parameter missing: id')
125
126
  }
126
127
 
127
128
  if (params['id'] && !isInt(params['id'])) {
128
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
129
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
129
130
  }
130
131
 
131
132
  const response = await Api.sendRequest(`/user_requests/${params['id']}`, 'GET', params, options)
@@ -142,27 +143,27 @@ class UserRequest {
142
143
  // details (required) - string - Details of the user request
143
144
  static create = async (params = {}, options = {}) => {
144
145
  if (!params['name']) {
145
- throw new Error('Parameter missing: name')
146
+ throw new errors.MissingParameterError('Parameter missing: name')
146
147
  }
147
148
 
148
149
  if (!params['email']) {
149
- throw new Error('Parameter missing: email')
150
+ throw new errors.MissingParameterError('Parameter missing: email')
150
151
  }
151
152
 
152
153
  if (!params['details']) {
153
- throw new Error('Parameter missing: details')
154
+ throw new errors.MissingParameterError('Parameter missing: details')
154
155
  }
155
156
 
156
157
  if (params['name'] && !isString(params['name'])) {
157
- throw new Error(`Bad parameter: name must be of type String, received ${getType(name)}`)
158
+ throw new errors.InvalidParameterError(`Bad parameter: name must be of type String, received ${getType(name)}`)
158
159
  }
159
160
 
160
161
  if (params['email'] && !isString(params['email'])) {
161
- throw new Error(`Bad parameter: email must be of type String, received ${getType(email)}`)
162
+ throw new errors.InvalidParameterError(`Bad parameter: email must be of type String, received ${getType(email)}`)
162
163
  }
163
164
 
164
165
  if (params['details'] && !isString(params['details'])) {
165
- throw new Error(`Bad parameter: details must be of type String, received ${getType(details)}`)
166
+ throw new errors.InvalidParameterError(`Bad parameter: details must be of type String, received ${getType(details)}`)
166
167
  }
167
168
 
168
169
  const response = await Api.sendRequest(`/user_requests`, 'POST', params, options)
@@ -1,4 +1,5 @@
1
1
  import Api from '../Api'
2
+ import * as errors from '../Errors'
2
3
  import Logger from '../Logger'
3
4
  import { getType, isArray, isBrowser, isInt, isObject, isString } from '../utils'
4
5
 
@@ -123,7 +124,7 @@ class WebhookTest {
123
124
 
124
125
  save = () => {
125
126
  if (this.attributes['id']) {
126
- throw new Error('The WebhookTest object doesn\'t support updates.')
127
+ throw new errors.NotImplementedError('The WebhookTest object doesn\'t support updates.')
127
128
  } else {
128
129
  const newObject = WebhookTest.create(this.attributes, this.options)
129
130
  this.attributes = { ...newObject.attributes }
@@ -143,31 +144,31 @@ class WebhookTest {
143
144
  // action - string - action for test body
144
145
  static create = async (params = {}, options = {}) => {
145
146
  if (!params['url']) {
146
- throw new Error('Parameter missing: url')
147
+ throw new errors.MissingParameterError('Parameter missing: url')
147
148
  }
148
149
 
149
150
  if (params['url'] && !isString(params['url'])) {
150
- throw new Error(`Bad parameter: url must be of type String, received ${getType(url)}`)
151
+ throw new errors.InvalidParameterError(`Bad parameter: url must be of type String, received ${getType(url)}`)
151
152
  }
152
153
 
153
154
  if (params['method'] && !isString(params['method'])) {
154
- throw new Error(`Bad parameter: method must be of type String, received ${getType(method)}`)
155
+ throw new errors.InvalidParameterError(`Bad parameter: method must be of type String, received ${getType(method)}`)
155
156
  }
156
157
 
157
158
  if (params['encoding'] && !isString(params['encoding'])) {
158
- throw new Error(`Bad parameter: encoding must be of type String, received ${getType(encoding)}`)
159
+ throw new errors.InvalidParameterError(`Bad parameter: encoding must be of type String, received ${getType(encoding)}`)
159
160
  }
160
161
 
161
162
  if (params['raw_body'] && !isString(params['raw_body'])) {
162
- throw new Error(`Bad parameter: raw_body must be of type String, received ${getType(raw_body)}`)
163
+ throw new errors.InvalidParameterError(`Bad parameter: raw_body must be of type String, received ${getType(raw_body)}`)
163
164
  }
164
165
 
165
166
  if (params['file_form_field'] && !isString(params['file_form_field'])) {
166
- throw new Error(`Bad parameter: file_form_field must be of type String, received ${getType(file_form_field)}`)
167
+ throw new errors.InvalidParameterError(`Bad parameter: file_form_field must be of type String, received ${getType(file_form_field)}`)
167
168
  }
168
169
 
169
170
  if (params['action'] && !isString(params['action'])) {
170
- throw new Error(`Bad parameter: action must be of type String, received ${getType(action)}`)
171
+ throw new errors.InvalidParameterError(`Bad parameter: action must be of type String, received ${getType(action)}`)
171
172
  }
172
173
 
173
174
  const response = await Api.sendRequest(`/webhook_tests`, 'POST', params, options)
package/test/src/index.js CHANGED
@@ -1,10 +1,13 @@
1
1
  import assert from 'assert'
2
+ // import * as errors from 'files.com/lib/Errors'
3
+ const errors = require('files.com/lib/Errors')
2
4
  import Files from 'files.com/lib/Files'
3
5
  import Logger, { LogLevel } from 'files.com/lib/Logger'
4
6
  import ApiKey from 'files.com/lib/models/ApiKey'
5
7
  import File from 'files.com/lib/models/File'
6
8
  import Folder from 'files.com/lib/models/Folder'
7
9
  import Session from 'files.com/lib/models/Session'
10
+ import User from 'files.com/lib/models/User'
8
11
  import { isBrowser } from 'files.com/lib/utils'
9
12
 
10
13
  // name of an existing folder in your root to create/delete test files and folders
@@ -125,6 +128,47 @@ const testSuite = async () => {
125
128
  Logger.info('***** testSession() succeeded! *****')
126
129
  }
127
130
 
131
+ const testFailure = async () => {
132
+ // test invalid api key
133
+ Files.setApiKey('this_is_not_a_valid_api_key')
134
+ Logger.pause()
135
+
136
+ let caughtInvalidCredentialsError = false
137
+
138
+ try {
139
+ await User.list()
140
+ } catch (error) {
141
+ caughtInvalidCredentialsError = error instanceof errors.NotAuthenticated_InvalidCredentialsError
142
+ }
143
+
144
+ assert(caughtInvalidCredentialsError === true)
145
+
146
+ // restore valid api key
147
+ Files.setApiKey(apiKey)
148
+ Logger.unpause()
149
+
150
+ Logger.info('***** testFailure() succeeded! *****')
151
+ }
152
+
153
+ const testUserListAndUpdate = async () => {
154
+ const allUsers = await User.all()
155
+ const firstUser = allUsers[0]
156
+
157
+ const oldName = firstUser.name
158
+ const newName = `edited name - ${Math.random()}`
159
+
160
+ firstUser.setName(newName)
161
+ await firstUser.save()
162
+
163
+ const updatedUser = await User.find(firstUser.id)
164
+
165
+ assert(updatedUser.isLoaded())
166
+ assert(oldName !== newName)
167
+ assert(updatedUser.name === newName)
168
+
169
+ Logger.info('***** testUserListAndUpdate() succeeded! *****');
170
+ }
171
+
128
172
  //
129
173
  // execute all tests
130
174
  //
@@ -132,6 +176,8 @@ const testSuite = async () => {
132
176
  await testFolderListAutoPagination()
133
177
  await testUploadAndDownload()
134
178
  await testSession()
179
+ await testFailure()
180
+ await testUserListAndUpdate()
135
181
  }
136
182
 
137
183
  export default testSuite