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
  import File from './File'
@@ -161,37 +162,37 @@ class Folder {
161
162
  // with_priority_color - boolean - Include file priority color information?
162
163
  static listFor = async (path, params = {}, options = {}) => {
163
164
  if (!isObject(params)) {
164
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
165
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
165
166
  }
166
167
 
167
168
  params['path'] = path
168
169
 
169
170
  if (!params['path']) {
170
- throw new Error('Parameter missing: path')
171
+ throw new errors.MissingParameterError('Parameter missing: path')
171
172
  }
172
173
 
173
174
  if (params['cursor'] && !isString(params['cursor'])) {
174
- throw new Error(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
175
+ throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
175
176
  }
176
177
 
177
178
  if (params['per_page'] && !isInt(params['per_page'])) {
178
- throw new Error(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
179
+ throw new errors.InvalidParameterError(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
179
180
  }
180
181
 
181
182
  if (params['path'] && !isString(params['path'])) {
182
- throw new Error(`Bad parameter: path must be of type String, received ${getType(path)}`)
183
+ throw new errors.InvalidParameterError(`Bad parameter: path must be of type String, received ${getType(path)}`)
183
184
  }
184
185
 
185
186
  if (params['filter'] && !isString(params['filter'])) {
186
- throw new Error(`Bad parameter: filter must be of type String, received ${getType(filter)}`)
187
+ throw new errors.InvalidParameterError(`Bad parameter: filter must be of type String, received ${getType(filter)}`)
187
188
  }
188
189
 
189
190
  if (params['preview_size'] && !isString(params['preview_size'])) {
190
- throw new Error(`Bad parameter: preview_size must be of type String, received ${getType(preview_size)}`)
191
+ throw new errors.InvalidParameterError(`Bad parameter: preview_size must be of type String, received ${getType(preview_size)}`)
191
192
  }
192
193
 
193
194
  if (params['search'] && !isString(params['search'])) {
194
- throw new Error(`Bad parameter: search must be of type String, received ${getType(search)}`)
195
+ throw new errors.InvalidParameterError(`Bad parameter: search must be of type String, received ${getType(search)}`)
195
196
  }
196
197
 
197
198
  const response = await Api.sendRequest(`/folders/${params['path']}`, 'GET', params, options)
@@ -204,17 +205,17 @@ class Folder {
204
205
  // mkdir_parents - boolean - Create parent directories if they do not exist?
205
206
  static create = async (path, params = {}, options = {}) => {
206
207
  if (!isObject(params)) {
207
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
208
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
208
209
  }
209
210
 
210
211
  params['path'] = path
211
212
 
212
213
  if (!params['path']) {
213
- throw new Error('Parameter missing: path')
214
+ throw new errors.MissingParameterError('Parameter missing: path')
214
215
  }
215
216
 
216
217
  if (params['path'] && !isString(params['path'])) {
217
- throw new Error(`Bad parameter: path must be of type String, received ${getType(path)}`)
218
+ throw new errors.InvalidParameterError(`Bad parameter: path must be of type String, received ${getType(path)}`)
218
219
  }
219
220
 
220
221
  const response = await Api.sendRequest(`/folders/${params['path']}`, '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
 
@@ -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
 
@@ -87,29 +88,29 @@ class FormFieldSet {
87
88
  // form_fields - array(object)
88
89
  update = async (params = {}) => {
89
90
  if (!this.attributes.id) {
90
- throw new Error('Current object has no id')
91
+ throw new errors.EmptyPropertyError('Current object has no id')
91
92
  }
92
93
 
93
94
  if (!isObject(params)) {
94
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
95
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
95
96
  }
96
97
 
97
98
  params.id = this.attributes.id
98
99
  if (params['id'] && !isInt(params['id'])) {
99
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
100
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
100
101
  }
101
102
  if (params['title'] && !isString(params['title'])) {
102
- throw new Error(`Bad parameter: title must be of type String, received ${getType(title)}`)
103
+ throw new errors.InvalidParameterError(`Bad parameter: title must be of type String, received ${getType(title)}`)
103
104
  }
104
105
  if (params['form_fields'] && !isArray(params['form_fields'])) {
105
- throw new Error(`Bad parameter: form_fields must be of type Array, received ${getType(form_fields)}`)
106
+ throw new errors.InvalidParameterError(`Bad parameter: form_fields must be of type Array, received ${getType(form_fields)}`)
106
107
  }
107
108
 
108
109
  if (!params['id']) {
109
110
  if (this.attributes.id) {
110
111
  params['id'] = this.id
111
112
  } else {
112
- throw new Error('Parameter missing: id')
113
+ throw new errors.MissingParameterError('Parameter missing: id')
113
114
  }
114
115
  }
115
116
 
@@ -120,23 +121,23 @@ class FormFieldSet {
120
121
 
121
122
  delete = async (params = {}) => {
122
123
  if (!this.attributes.id) {
123
- throw new Error('Current object has no id')
124
+ throw new errors.EmptyPropertyError('Current object has no id')
124
125
  }
125
126
 
126
127
  if (!isObject(params)) {
127
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
128
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
128
129
  }
129
130
 
130
131
  params.id = this.attributes.id
131
132
  if (params['id'] && !isInt(params['id'])) {
132
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
133
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
133
134
  }
134
135
 
135
136
  if (!params['id']) {
136
137
  if (this.attributes.id) {
137
138
  params['id'] = this.id
138
139
  } else {
139
- throw new Error('Parameter missing: id')
140
+ throw new errors.MissingParameterError('Parameter missing: id')
140
141
  }
141
142
  }
142
143
 
@@ -164,15 +165,15 @@ class FormFieldSet {
164
165
  // per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
165
166
  static list = async (params = {}, options = {}) => {
166
167
  if (params['user_id'] && !isInt(params['user_id'])) {
167
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
168
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
168
169
  }
169
170
 
170
171
  if (params['cursor'] && !isString(params['cursor'])) {
171
- throw new Error(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
172
+ throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
172
173
  }
173
174
 
174
175
  if (params['per_page'] && !isInt(params['per_page'])) {
175
- throw new Error(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
176
+ throw new errors.InvalidParameterError(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
176
177
  }
177
178
 
178
179
  const response = await Api.sendRequest(`/form_field_sets`, 'GET', params, options)
@@ -187,17 +188,17 @@ class FormFieldSet {
187
188
  // id (required) - int64 - Form Field Set ID.
188
189
  static find = async (id, params = {}, options = {}) => {
189
190
  if (!isObject(params)) {
190
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
191
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
191
192
  }
192
193
 
193
194
  params['id'] = id
194
195
 
195
196
  if (!params['id']) {
196
- throw new Error('Parameter missing: id')
197
+ throw new errors.MissingParameterError('Parameter missing: id')
197
198
  }
198
199
 
199
200
  if (params['id'] && !isInt(params['id'])) {
200
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
201
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
201
202
  }
202
203
 
203
204
  const response = await Api.sendRequest(`/form_field_sets/${params['id']}`, 'GET', params, options)
@@ -217,15 +218,15 @@ class FormFieldSet {
217
218
  // form_fields - array(object)
218
219
  static create = async (params = {}, options = {}) => {
219
220
  if (params['user_id'] && !isInt(params['user_id'])) {
220
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
221
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
221
222
  }
222
223
 
223
224
  if (params['title'] && !isString(params['title'])) {
224
- throw new Error(`Bad parameter: title must be of type String, received ${getType(title)}`)
225
+ throw new errors.InvalidParameterError(`Bad parameter: title must be of type String, received ${getType(title)}`)
225
226
  }
226
227
 
227
228
  if (params['form_fields'] && !isArray(params['form_fields'])) {
228
- throw new Error(`Bad parameter: form_fields must be of type Array, received ${getType(form_fields)}`)
229
+ throw new errors.InvalidParameterError(`Bad parameter: form_fields must be of type Array, received ${getType(form_fields)}`)
229
230
  }
230
231
 
231
232
  const response = await Api.sendRequest(`/form_field_sets`, '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
 
@@ -72,35 +73,35 @@ class Group {
72
73
  // admin_ids - string - A list of group admin user ids. If sent as a string, should be comma-delimited.
73
74
  update = async (params = {}) => {
74
75
  if (!this.attributes.id) {
75
- throw new Error('Current object has no id')
76
+ throw new errors.EmptyPropertyError('Current object has no id')
76
77
  }
77
78
 
78
79
  if (!isObject(params)) {
79
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
80
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
80
81
  }
81
82
 
82
83
  params.id = this.attributes.id
83
84
  if (params['id'] && !isInt(params['id'])) {
84
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
85
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
85
86
  }
86
87
  if (params['name'] && !isString(params['name'])) {
87
- throw new Error(`Bad parameter: name must be of type String, received ${getType(name)}`)
88
+ throw new errors.InvalidParameterError(`Bad parameter: name must be of type String, received ${getType(name)}`)
88
89
  }
89
90
  if (params['notes'] && !isString(params['notes'])) {
90
- throw new Error(`Bad parameter: notes must be of type String, received ${getType(notes)}`)
91
+ throw new errors.InvalidParameterError(`Bad parameter: notes must be of type String, received ${getType(notes)}`)
91
92
  }
92
93
  if (params['user_ids'] && !isString(params['user_ids'])) {
93
- throw new Error(`Bad parameter: user_ids must be of type String, received ${getType(user_ids)}`)
94
+ throw new errors.InvalidParameterError(`Bad parameter: user_ids must be of type String, received ${getType(user_ids)}`)
94
95
  }
95
96
  if (params['admin_ids'] && !isString(params['admin_ids'])) {
96
- throw new Error(`Bad parameter: admin_ids must be of type String, received ${getType(admin_ids)}`)
97
+ throw new errors.InvalidParameterError(`Bad parameter: admin_ids must be of type String, received ${getType(admin_ids)}`)
97
98
  }
98
99
 
99
100
  if (!params['id']) {
100
101
  if (this.attributes.id) {
101
102
  params['id'] = this.id
102
103
  } else {
103
- throw new Error('Parameter missing: id')
104
+ throw new errors.MissingParameterError('Parameter missing: id')
104
105
  }
105
106
  }
106
107
 
@@ -111,23 +112,23 @@ class Group {
111
112
 
112
113
  delete = async (params = {}) => {
113
114
  if (!this.attributes.id) {
114
- throw new Error('Current object has no id')
115
+ throw new errors.EmptyPropertyError('Current object has no id')
115
116
  }
116
117
 
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 = this.attributes.id
122
123
  if (params['id'] && !isInt(params['id'])) {
123
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
124
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
124
125
  }
125
126
 
126
127
  if (!params['id']) {
127
128
  if (this.attributes.id) {
128
129
  params['id'] = this.id
129
130
  } else {
130
- throw new Error('Parameter missing: id')
131
+ throw new errors.MissingParameterError('Parameter missing: id')
131
132
  }
132
133
  }
133
134
 
@@ -162,15 +163,15 @@ class Group {
162
163
  // ids - string - Comma-separated list of group ids to include in results.
163
164
  static list = async (params = {}, options = {}) => {
164
165
  if (params['cursor'] && !isString(params['cursor'])) {
165
- throw new Error(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
166
+ throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
166
167
  }
167
168
 
168
169
  if (params['per_page'] && !isInt(params['per_page'])) {
169
- throw new Error(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
170
+ throw new errors.InvalidParameterError(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
170
171
  }
171
172
 
172
173
  if (params['ids'] && !isString(params['ids'])) {
173
- throw new Error(`Bad parameter: ids must be of type String, received ${getType(ids)}`)
174
+ throw new errors.InvalidParameterError(`Bad parameter: ids must be of type String, received ${getType(ids)}`)
174
175
  }
175
176
 
176
177
  const response = await Api.sendRequest(`/groups`, 'GET', params, options)
@@ -185,17 +186,17 @@ class Group {
185
186
  // id (required) - int64 - Group ID.
186
187
  static find = async (id, params = {}, options = {}) => {
187
188
  if (!isObject(params)) {
188
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
189
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
189
190
  }
190
191
 
191
192
  params['id'] = id
192
193
 
193
194
  if (!params['id']) {
194
- throw new Error('Parameter missing: id')
195
+ throw new errors.MissingParameterError('Parameter missing: id')
195
196
  }
196
197
 
197
198
  if (params['id'] && !isInt(params['id'])) {
198
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
199
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
199
200
  }
200
201
 
201
202
  const response = await Api.sendRequest(`/groups/${params['id']}`, 'GET', params, options)
@@ -213,19 +214,19 @@ class Group {
213
214
  // admin_ids - string - A list of group admin user ids. If sent as a string, should be comma-delimited.
214
215
  static create = async (params = {}, options = {}) => {
215
216
  if (params['name'] && !isString(params['name'])) {
216
- throw new Error(`Bad parameter: name must be of type String, received ${getType(name)}`)
217
+ throw new errors.InvalidParameterError(`Bad parameter: name must be of type String, received ${getType(name)}`)
217
218
  }
218
219
 
219
220
  if (params['notes'] && !isString(params['notes'])) {
220
- throw new Error(`Bad parameter: notes must be of type String, received ${getType(notes)}`)
221
+ throw new errors.InvalidParameterError(`Bad parameter: notes must be of type String, received ${getType(notes)}`)
221
222
  }
222
223
 
223
224
  if (params['user_ids'] && !isString(params['user_ids'])) {
224
- throw new Error(`Bad parameter: user_ids must be of type String, received ${getType(user_ids)}`)
225
+ throw new errors.InvalidParameterError(`Bad parameter: user_ids must be of type String, received ${getType(user_ids)}`)
225
226
  }
226
227
 
227
228
  if (params['admin_ids'] && !isString(params['admin_ids'])) {
228
- throw new Error(`Bad parameter: admin_ids must be of type String, received ${getType(admin_ids)}`)
229
+ throw new errors.InvalidParameterError(`Bad parameter: admin_ids must be of type String, received ${getType(admin_ids)}`)
229
230
  }
230
231
 
231
232
  const response = await Api.sendRequest(`/groups`, '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
 
@@ -71,29 +72,29 @@ class GroupUser {
71
72
  // admin - boolean - Is the user a group administrator?
72
73
  update = async (params = {}) => {
73
74
  if (!this.attributes.id) {
74
- throw new Error('Current object has no id')
75
+ throw new errors.EmptyPropertyError('Current object has no id')
75
76
  }
76
77
 
77
78
  if (!isObject(params)) {
78
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
79
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
79
80
  }
80
81
 
81
82
  params.id = this.attributes.id
82
83
  if (params['id'] && !isInt(params['id'])) {
83
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
84
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
84
85
  }
85
86
  if (params['group_id'] && !isInt(params['group_id'])) {
86
- throw new Error(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
87
+ throw new errors.InvalidParameterError(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
87
88
  }
88
89
  if (params['user_id'] && !isInt(params['user_id'])) {
89
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
90
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
90
91
  }
91
92
 
92
93
  if (!params['id']) {
93
94
  if (this.attributes.id) {
94
95
  params['id'] = this.id
95
96
  } else {
96
- throw new Error('Parameter missing: id')
97
+ throw new errors.MissingParameterError('Parameter missing: id')
97
98
  }
98
99
  }
99
100
 
@@ -101,7 +102,7 @@ class GroupUser {
101
102
  if (this.attributes.group_id) {
102
103
  params['group_id'] = this.group_id
103
104
  } else {
104
- throw new Error('Parameter missing: group_id')
105
+ throw new errors.MissingParameterError('Parameter missing: group_id')
105
106
  }
106
107
  }
107
108
 
@@ -109,7 +110,7 @@ class GroupUser {
109
110
  if (this.attributes.user_id) {
110
111
  params['user_id'] = this.user_id
111
112
  } else {
112
- throw new Error('Parameter missing: user_id')
113
+ throw new errors.MissingParameterError('Parameter missing: user_id')
113
114
  }
114
115
  }
115
116
 
@@ -123,29 +124,29 @@ class GroupUser {
123
124
  // user_id (required) - int64 - User ID to remove from group.
124
125
  delete = async (params = {}) => {
125
126
  if (!this.attributes.id) {
126
- throw new Error('Current object has no id')
127
+ throw new errors.EmptyPropertyError('Current object has no id')
127
128
  }
128
129
 
129
130
  if (!isObject(params)) {
130
- throw new Error(`Bad parameter: params must be of type object, received ${getType(params)}`)
131
+ throw new errors.InvalidParameterError(`Bad parameter: params must be of type object, received ${getType(params)}`)
131
132
  }
132
133
 
133
134
  params.id = this.attributes.id
134
135
  if (params['id'] && !isInt(params['id'])) {
135
- throw new Error(`Bad parameter: id must be of type Int, received ${getType(id)}`)
136
+ throw new errors.InvalidParameterError(`Bad parameter: id must be of type Int, received ${getType(id)}`)
136
137
  }
137
138
  if (params['group_id'] && !isInt(params['group_id'])) {
138
- throw new Error(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
139
+ throw new errors.InvalidParameterError(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
139
140
  }
140
141
  if (params['user_id'] && !isInt(params['user_id'])) {
141
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
142
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
142
143
  }
143
144
 
144
145
  if (!params['id']) {
145
146
  if (this.attributes.id) {
146
147
  params['id'] = this.id
147
148
  } else {
148
- throw new Error('Parameter missing: id')
149
+ throw new errors.MissingParameterError('Parameter missing: id')
149
150
  }
150
151
  }
151
152
 
@@ -153,7 +154,7 @@ class GroupUser {
153
154
  if (this.attributes.group_id) {
154
155
  params['group_id'] = this.group_id
155
156
  } else {
156
- throw new Error('Parameter missing: group_id')
157
+ throw new errors.MissingParameterError('Parameter missing: group_id')
157
158
  }
158
159
  }
159
160
 
@@ -161,7 +162,7 @@ class GroupUser {
161
162
  if (this.attributes.user_id) {
162
163
  params['user_id'] = this.user_id
163
164
  } else {
164
- throw new Error('Parameter missing: user_id')
165
+ throw new errors.MissingParameterError('Parameter missing: user_id')
165
166
  }
166
167
  }
167
168
 
@@ -190,19 +191,19 @@ class GroupUser {
190
191
  // group_id - int64 - Group ID. If provided, will return group_users of this group.
191
192
  static list = async (params = {}, options = {}) => {
192
193
  if (params['user_id'] && !isInt(params['user_id'])) {
193
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
194
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
194
195
  }
195
196
 
196
197
  if (params['cursor'] && !isString(params['cursor'])) {
197
- throw new Error(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
198
+ throw new errors.InvalidParameterError(`Bad parameter: cursor must be of type String, received ${getType(cursor)}`)
198
199
  }
199
200
 
200
201
  if (params['per_page'] && !isInt(params['per_page'])) {
201
- throw new Error(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
202
+ throw new errors.InvalidParameterError(`Bad parameter: per_page must be of type Int, received ${getType(per_page)}`)
202
203
  }
203
204
 
204
205
  if (params['group_id'] && !isInt(params['group_id'])) {
205
- throw new Error(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
206
+ throw new errors.InvalidParameterError(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
206
207
  }
207
208
 
208
209
  const response = await Api.sendRequest(`/group_users`, 'GET', params, options)
@@ -219,19 +220,19 @@ class GroupUser {
219
220
  // admin - boolean - Is the user a group administrator?
220
221
  static create = async (params = {}, options = {}) => {
221
222
  if (!params['group_id']) {
222
- throw new Error('Parameter missing: group_id')
223
+ throw new errors.MissingParameterError('Parameter missing: group_id')
223
224
  }
224
225
 
225
226
  if (!params['user_id']) {
226
- throw new Error('Parameter missing: user_id')
227
+ throw new errors.MissingParameterError('Parameter missing: user_id')
227
228
  }
228
229
 
229
230
  if (params['group_id'] && !isInt(params['group_id'])) {
230
- throw new Error(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
231
+ throw new errors.InvalidParameterError(`Bad parameter: group_id must be of type Int, received ${getType(group_id)}`)
231
232
  }
232
233
 
233
234
  if (params['user_id'] && !isInt(params['user_id'])) {
234
- throw new Error(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
235
+ throw new errors.InvalidParameterError(`Bad parameter: user_id must be of type Int, received ${getType(user_id)}`)
235
236
  }
236
237
 
237
238
  const response = await Api.sendRequest(`/group_users`, 'POST', params, options)