box-node-sdk 3.8.0 → 3.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/README.md +89 -69
  2. package/config/package.schema.json +42 -42
  3. package/lib/api-request-manager.d.ts +0 -2
  4. package/lib/api-request-manager.js.map +1 -1
  5. package/lib/api-request.d.ts +0 -3
  6. package/lib/api-request.js.map +1 -1
  7. package/lib/box-client.d.ts +7 -7
  8. package/lib/box-client.js +6 -3
  9. package/lib/box-client.js.map +1 -1
  10. package/lib/box-node-sdk.d.ts +1 -3
  11. package/lib/box-node-sdk.js +26 -10
  12. package/lib/box-node-sdk.js.map +1 -1
  13. package/lib/chunked-uploader.d.ts +0 -5
  14. package/lib/chunked-uploader.js.map +1 -1
  15. package/lib/enterprise-event-stream.d.ts +0 -1
  16. package/lib/enterprise-event-stream.js +3 -3
  17. package/lib/enterprise-event-stream.js.map +1 -1
  18. package/lib/event-stream.d.ts +0 -2
  19. package/lib/event-stream.js.map +1 -1
  20. package/lib/managers/ai.generated.js.map +1 -1
  21. package/lib/managers/collaboration-allowlist.js.map +1 -1
  22. package/lib/managers/collaborations.d.ts +3 -3
  23. package/lib/managers/collaborations.js +23 -23
  24. package/lib/managers/collaborations.js.map +1 -1
  25. package/lib/managers/collections.js.map +1 -1
  26. package/lib/managers/comments.js.map +1 -1
  27. package/lib/managers/device-pins.js.map +1 -1
  28. package/lib/managers/enterprise.js.map +1 -1
  29. package/lib/managers/events.d.ts +0 -1
  30. package/lib/managers/events.js +3 -1
  31. package/lib/managers/events.js.map +1 -1
  32. package/lib/managers/file-requests-manager.d.ts +2 -2
  33. package/lib/managers/file-requests-manager.js +1 -1
  34. package/lib/managers/file-requests-manager.js.map +1 -1
  35. package/lib/managers/files.d.ts +1 -4
  36. package/lib/managers/files.js +6 -2
  37. package/lib/managers/files.js.map +1 -1
  38. package/lib/managers/folders.d.ts +1 -1
  39. package/lib/managers/folders.js +3 -1
  40. package/lib/managers/folders.js.map +1 -1
  41. package/lib/managers/groups.js +2 -2
  42. package/lib/managers/groups.js.map +1 -1
  43. package/lib/managers/integration-mappings.js.map +1 -1
  44. package/lib/managers/legal-hold-policies.js.map +1 -1
  45. package/lib/managers/metadata.js.map +1 -1
  46. package/lib/managers/recent-items.js.map +1 -1
  47. package/lib/managers/retention-policies.d.ts +1 -1
  48. package/lib/managers/retention-policies.js.map +1 -1
  49. package/lib/managers/search.d.ts +1 -1
  50. package/lib/managers/search.js.map +1 -1
  51. package/lib/managers/shared-items.js.map +1 -1
  52. package/lib/managers/shield-information-barrier-reports.generated.js.map +1 -1
  53. package/lib/managers/shield-information-barrier-segment-members.generated.js.map +1 -1
  54. package/lib/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -1
  55. package/lib/managers/shield-information-barrier-segments.generated.js.map +1 -1
  56. package/lib/managers/shield-information-barriers.generated.js.map +1 -1
  57. package/lib/managers/sign-requests.generated.js.map +1 -1
  58. package/lib/managers/sign-templates.generated.js.map +1 -1
  59. package/lib/managers/storage-policies.js.map +1 -1
  60. package/lib/managers/tasks.js.map +1 -1
  61. package/lib/managers/terms-of-service.js.map +1 -1
  62. package/lib/managers/trash.js.map +1 -1
  63. package/lib/managers/users.d.ts +0 -3
  64. package/lib/managers/users.js +1 -1
  65. package/lib/managers/users.js.map +1 -1
  66. package/lib/managers/web-links.js +3 -1
  67. package/lib/managers/web-links.js.map +1 -1
  68. package/lib/managers/webhooks.d.ts +11 -11
  69. package/lib/managers/webhooks.js +24 -14
  70. package/lib/managers/webhooks.js.map +1 -1
  71. package/lib/schemas/collaboration-update.d.ts +1 -1
  72. package/lib/schemas/collaboration.d.ts +3 -3
  73. package/lib/schemas/collaborations.d.ts +1 -1
  74. package/lib/schemas/file-request.d.ts +2 -2
  75. package/lib/sessions/app-auth-session.js.map +1 -1
  76. package/lib/sessions/basic-session.d.ts +0 -1
  77. package/lib/sessions/basic-session.js.map +1 -1
  78. package/lib/sessions/ccg-session.js.map +1 -1
  79. package/lib/sessions/persistent-session.js.map +1 -1
  80. package/lib/token-manager.js +4 -2
  81. package/lib/token-manager.js.map +1 -1
  82. package/lib/util/config.d.ts +0 -2
  83. package/lib/util/config.js +18 -8
  84. package/lib/util/config.js.map +1 -1
  85. package/lib/util/errors.js +17 -7
  86. package/lib/util/errors.js.map +1 -1
  87. package/lib/util/exponential-backoff.js.map +1 -1
  88. package/lib/util/paging-iterator.js +17 -7
  89. package/lib/util/paging-iterator.js.map +1 -1
  90. package/lib/util/serializable.js.map +1 -1
  91. package/lib/util/url-path.js.map +1 -1
  92. package/lib-esm/api-request-manager.d.ts +36 -0
  93. package/lib-esm/api-request-manager.js +78 -0
  94. package/lib-esm/api-request-manager.js.map +1 -0
  95. package/lib-esm/api-request.d.ts +135 -0
  96. package/lib-esm/api-request.js +282 -0
  97. package/lib-esm/api-request.js.map +1 -0
  98. package/lib-esm/box-client.d.ts +274 -0
  99. package/lib-esm/box-client.js +594 -0
  100. package/lib-esm/box-client.js.map +1 -0
  101. package/lib-esm/box-node-sdk.d.ts +227 -0
  102. package/lib-esm/box-node-sdk.js +373 -0
  103. package/lib-esm/box-node-sdk.js.map +1 -0
  104. package/lib-esm/chunked-uploader.d.ts +128 -0
  105. package/lib-esm/chunked-uploader.js +276 -0
  106. package/lib-esm/chunked-uploader.js.map +1 -0
  107. package/lib-esm/enterprise-event-stream.d.ts +82 -0
  108. package/lib-esm/enterprise-event-stream.js +205 -0
  109. package/lib-esm/enterprise-event-stream.js.map +1 -0
  110. package/lib-esm/event-stream.d.ts +91 -0
  111. package/lib-esm/event-stream.js +277 -0
  112. package/lib-esm/event-stream.js.map +1 -0
  113. package/lib-esm/managers/ai.generated.d.ts +58 -0
  114. package/lib-esm/managers/ai.generated.js +66 -0
  115. package/lib-esm/managers/ai.generated.js.map +1 -0
  116. package/lib-esm/managers/collaboration-allowlist.d.ts +133 -0
  117. package/lib-esm/managers/collaboration-allowlist.js +194 -0
  118. package/lib-esm/managers/collaboration-allowlist.js.map +1 -0
  119. package/lib-esm/managers/collaborations.d.ts +173 -0
  120. package/lib-esm/managers/collaborations.js +252 -0
  121. package/lib-esm/managers/collaborations.js.map +1 -0
  122. package/lib-esm/managers/collections.d.ts +42 -0
  123. package/lib-esm/managers/collections.js +62 -0
  124. package/lib-esm/managers/collections.js.map +1 -0
  125. package/lib-esm/managers/comments.d.ts +103 -0
  126. package/lib-esm/managers/comments.js +175 -0
  127. package/lib-esm/managers/comments.js.map +1 -0
  128. package/lib-esm/managers/device-pins.d.ts +52 -0
  129. package/lib-esm/managers/device-pins.js +91 -0
  130. package/lib-esm/managers/device-pins.js.map +1 -0
  131. package/lib-esm/managers/enterprise.d.ts +164 -0
  132. package/lib-esm/managers/enterprise.js +193 -0
  133. package/lib-esm/managers/enterprise.js.map +1 -0
  134. package/lib-esm/managers/events.d.ts +222 -0
  135. package/lib-esm/managers/events.js +295 -0
  136. package/lib-esm/managers/events.js.map +1 -0
  137. package/lib-esm/managers/file-requests-manager.d.ts +56 -0
  138. package/lib-esm/managers/file-requests-manager.js +81 -0
  139. package/lib-esm/managers/file-requests-manager.js.map +1 -0
  140. package/lib-esm/managers/files.d.ts +817 -0
  141. package/lib-esm/managers/files.js +1408 -0
  142. package/lib-esm/managers/files.js.map +1 -0
  143. package/lib-esm/managers/folders.d.ts +396 -0
  144. package/lib-esm/managers/folders.js +570 -0
  145. package/lib-esm/managers/folders.js.map +1 -0
  146. package/lib-esm/managers/groups.d.ts +213 -0
  147. package/lib-esm/managers/groups.js +289 -0
  148. package/lib-esm/managers/groups.js.map +1 -0
  149. package/lib-esm/managers/integration-mappings.d.ts +116 -0
  150. package/lib-esm/managers/integration-mappings.js +101 -0
  151. package/lib-esm/managers/integration-mappings.js.map +1 -0
  152. package/lib-esm/managers/legal-hold-policies.d.ts +190 -0
  153. package/lib-esm/managers/legal-hold-policies.js +254 -0
  154. package/lib-esm/managers/legal-hold-policies.js.map +1 -0
  155. package/lib-esm/managers/metadata.d.ts +232 -0
  156. package/lib-esm/managers/metadata.js +288 -0
  157. package/lib-esm/managers/metadata.js.map +1 -0
  158. package/lib-esm/managers/recent-items.d.ts +38 -0
  159. package/lib-esm/managers/recent-items.js +49 -0
  160. package/lib-esm/managers/recent-items.js.map +1 -0
  161. package/lib-esm/managers/retention-policies.d.ts +308 -0
  162. package/lib-esm/managers/retention-policies.js +374 -0
  163. package/lib-esm/managers/retention-policies.js.map +1 -0
  164. package/lib-esm/managers/search.d.ts +82 -0
  165. package/lib-esm/managers/search.js +90 -0
  166. package/lib-esm/managers/search.js.map +1 -0
  167. package/lib-esm/managers/shared-items.d.ts +33 -0
  168. package/lib-esm/managers/shared-items.js +74 -0
  169. package/lib-esm/managers/shared-items.js.map +1 -0
  170. package/lib-esm/managers/shield-information-barrier-reports.generated.d.ts +65 -0
  171. package/lib-esm/managers/shield-information-barrier-reports.generated.js +65 -0
  172. package/lib-esm/managers/shield-information-barrier-reports.generated.js.map +1 -0
  173. package/lib-esm/managers/shield-information-barrier-segment-members.generated.d.ts +83 -0
  174. package/lib-esm/managers/shield-information-barrier-segment-members.generated.js +83 -0
  175. package/lib-esm/managers/shield-information-barrier-segment-members.generated.js.map +1 -0
  176. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.d.ts +84 -0
  177. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js +84 -0
  178. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
  179. package/lib-esm/managers/shield-information-barrier-segments.generated.d.ts +98 -0
  180. package/lib-esm/managers/shield-information-barrier-segments.generated.js +99 -0
  181. package/lib-esm/managers/shield-information-barrier-segments.generated.js.map +1 -0
  182. package/lib-esm/managers/shield-information-barriers.generated.d.ts +79 -0
  183. package/lib-esm/managers/shield-information-barriers.generated.js +83 -0
  184. package/lib-esm/managers/shield-information-barriers.generated.js.map +1 -0
  185. package/lib-esm/managers/sign-requests.generated.d.ts +93 -0
  186. package/lib-esm/managers/sign-requests.generated.js +97 -0
  187. package/lib-esm/managers/sign-requests.generated.js.map +1 -0
  188. package/lib-esm/managers/sign-templates.generated.d.ts +51 -0
  189. package/lib-esm/managers/sign-templates.generated.js +49 -0
  190. package/lib-esm/managers/sign-templates.generated.js.map +1 -0
  191. package/lib-esm/managers/storage-policies.d.ts +86 -0
  192. package/lib-esm/managers/storage-policies.js +174 -0
  193. package/lib-esm/managers/storage-policies.js.map +1 -0
  194. package/lib-esm/managers/tasks.d.ts +161 -0
  195. package/lib-esm/managers/tasks.js +243 -0
  196. package/lib-esm/managers/tasks.js.map +1 -0
  197. package/lib-esm/managers/terms-of-service.d.ts +161 -0
  198. package/lib-esm/managers/terms-of-service.js +283 -0
  199. package/lib-esm/managers/terms-of-service.js.map +1 -0
  200. package/lib-esm/managers/trash.d.ts +30 -0
  201. package/lib-esm/managers/trash.js +47 -0
  202. package/lib-esm/managers/trash.js.map +1 -0
  203. package/lib-esm/managers/users.d.ts +171 -0
  204. package/lib-esm/managers/users.js +230 -0
  205. package/lib-esm/managers/users.js.map +1 -0
  206. package/lib-esm/managers/web-links.d.ts +127 -0
  207. package/lib-esm/managers/web-links.js +200 -0
  208. package/lib-esm/managers/web-links.js.map +1 -0
  209. package/lib-esm/managers/webhooks.d.ts +169 -0
  210. package/lib-esm/managers/webhooks.js +398 -0
  211. package/lib-esm/managers/webhooks.js.map +1 -0
  212. package/lib-esm/schemas/ai-agent-ask.generated.d.ts +17 -0
  213. package/lib-esm/schemas/ai-agent-ask.generated.js +3 -0
  214. package/lib-esm/schemas/ai-agent-ask.generated.js.map +1 -0
  215. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.d.ts +14 -0
  216. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js +3 -0
  217. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js.map +1 -0
  218. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.d.ts +34 -0
  219. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js +3 -0
  220. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js.map +1 -0
  221. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.d.ts +36 -0
  222. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js +3 -0
  223. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js.map +1 -0
  224. package/lib-esm/schemas/ai-agent-long-text-tool.generated.d.ts +9 -0
  225. package/lib-esm/schemas/ai-agent-long-text-tool.generated.js +3 -0
  226. package/lib-esm/schemas/ai-agent-long-text-tool.generated.js.map +1 -0
  227. package/lib-esm/schemas/ai-agent-text-gen.generated.d.ts +14 -0
  228. package/lib-esm/schemas/ai-agent-text-gen.generated.js +3 -0
  229. package/lib-esm/schemas/ai-agent-text-gen.generated.js.map +1 -0
  230. package/lib-esm/schemas/ai-ask.generated.d.ts +40 -0
  231. package/lib-esm/schemas/ai-ask.generated.js +3 -0
  232. package/lib-esm/schemas/ai-ask.generated.js.map +1 -0
  233. package/lib-esm/schemas/ai-citation.generated.d.ts +27 -0
  234. package/lib-esm/schemas/ai-citation.generated.js +3 -0
  235. package/lib-esm/schemas/ai-citation.generated.js.map +1 -0
  236. package/lib-esm/schemas/ai-dialogue-history.generated.d.ts +22 -0
  237. package/lib-esm/schemas/ai-dialogue-history.generated.js +3 -0
  238. package/lib-esm/schemas/ai-dialogue-history.generated.js.map +1 -0
  239. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.d.ts +31 -0
  240. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js +3 -0
  241. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js.map +1 -0
  242. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.d.ts +43 -0
  243. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js +3 -0
  244. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js.map +1 -0
  245. package/lib-esm/schemas/ai-response-full.generated.d.ts +12 -0
  246. package/lib-esm/schemas/ai-response-full.generated.js +3 -0
  247. package/lib-esm/schemas/ai-response-full.generated.js.map +1 -0
  248. package/lib-esm/schemas/ai-response.generated.d.ts +22 -0
  249. package/lib-esm/schemas/ai-response.generated.js +3 -0
  250. package/lib-esm/schemas/ai-response.generated.js.map +1 -0
  251. package/lib-esm/schemas/ai-text-gen.generated.d.ts +30 -0
  252. package/lib-esm/schemas/ai-text-gen.generated.js +3 -0
  253. package/lib-esm/schemas/ai-text-gen.generated.js.map +1 -0
  254. package/lib-esm/schemas/collaboration-create.d.ts +5 -0
  255. package/lib-esm/schemas/collaboration-create.js +3 -0
  256. package/lib-esm/schemas/collaboration-create.js.map +1 -0
  257. package/lib-esm/schemas/collaboration-update.d.ts +7 -0
  258. package/lib-esm/schemas/collaboration-update.js +3 -0
  259. package/lib-esm/schemas/collaboration-update.js.map +1 -0
  260. package/lib-esm/schemas/collaboration.d.ts +108 -0
  261. package/lib-esm/schemas/collaboration.js +3 -0
  262. package/lib-esm/schemas/collaboration.js.map +1 -0
  263. package/lib-esm/schemas/collaborations.d.ts +13 -0
  264. package/lib-esm/schemas/collaborations.js +3 -0
  265. package/lib-esm/schemas/collaborations.js.map +1 -0
  266. package/lib-esm/schemas/enterprise-base.generated.d.ts +18 -0
  267. package/lib-esm/schemas/enterprise-base.generated.js +3 -0
  268. package/lib-esm/schemas/enterprise-base.generated.js.map +1 -0
  269. package/lib-esm/schemas/file-base.generated.d.ts +32 -0
  270. package/lib-esm/schemas/file-base.generated.js +3 -0
  271. package/lib-esm/schemas/file-base.generated.js.map +1 -0
  272. package/lib-esm/schemas/file-mini.generated.d.ts +41 -0
  273. package/lib-esm/schemas/file-mini.generated.js +3 -0
  274. package/lib-esm/schemas/file-mini.generated.js.map +1 -0
  275. package/lib-esm/schemas/file-request.d.ts +41 -0
  276. package/lib-esm/schemas/file-request.js +3 -0
  277. package/lib-esm/schemas/file-request.js.map +1 -0
  278. package/lib-esm/schemas/file-version-base.generated.d.ts +19 -0
  279. package/lib-esm/schemas/file-version-base.generated.js +3 -0
  280. package/lib-esm/schemas/file-version-base.generated.js.map +1 -0
  281. package/lib-esm/schemas/file-version-mini.generated.d.ts +14 -0
  282. package/lib-esm/schemas/file-version-mini.generated.js +3 -0
  283. package/lib-esm/schemas/file-version-mini.generated.js.map +1 -0
  284. package/lib-esm/schemas/folder-base.generated.d.ts +32 -0
  285. package/lib-esm/schemas/folder-base.generated.js +3 -0
  286. package/lib-esm/schemas/folder-base.generated.js.map +1 -0
  287. package/lib-esm/schemas/folder-mini.generated.d.ts +31 -0
  288. package/lib-esm/schemas/folder-mini.generated.js +3 -0
  289. package/lib-esm/schemas/folder-mini.generated.js.map +1 -0
  290. package/lib-esm/schemas/index.d.ts +15 -0
  291. package/lib-esm/schemas/index.generated.d.ts +52 -0
  292. package/lib-esm/schemas/index.generated.js +69 -0
  293. package/lib-esm/schemas/index.generated.js.map +1 -0
  294. package/lib-esm/schemas/index.js +32 -0
  295. package/lib-esm/schemas/index.js.map +1 -0
  296. package/lib-esm/schemas/integration-mapping-base.d.ts +23 -0
  297. package/lib-esm/schemas/integration-mapping-base.js +3 -0
  298. package/lib-esm/schemas/integration-mapping-base.js.map +1 -0
  299. package/lib-esm/schemas/integration-mapping-box-item-slack.d.ts +17 -0
  300. package/lib-esm/schemas/integration-mapping-box-item-slack.js +3 -0
  301. package/lib-esm/schemas/integration-mapping-box-item-slack.js.map +1 -0
  302. package/lib-esm/schemas/integration-mapping-partner-item-slack.d.ts +27 -0
  303. package/lib-esm/schemas/integration-mapping-partner-item-slack.js +3 -0
  304. package/lib-esm/schemas/integration-mapping-partner-item-slack.js.map +1 -0
  305. package/lib-esm/schemas/integration-mapping-slack-create-request.d.ts +12 -0
  306. package/lib-esm/schemas/integration-mapping-slack-create-request.js +3 -0
  307. package/lib-esm/schemas/integration-mapping-slack-create-request.js.map +1 -0
  308. package/lib-esm/schemas/integration-mapping-slack-options.d.ts +16 -0
  309. package/lib-esm/schemas/integration-mapping-slack-options.js +3 -0
  310. package/lib-esm/schemas/integration-mapping-slack-options.js.map +1 -0
  311. package/lib-esm/schemas/integration-mapping.d.ts +55 -0
  312. package/lib-esm/schemas/integration-mapping.js +3 -0
  313. package/lib-esm/schemas/integration-mapping.js.map +1 -0
  314. package/lib-esm/schemas/integration-mappings.d.ts +27 -0
  315. package/lib-esm/schemas/integration-mappings.js +3 -0
  316. package/lib-esm/schemas/integration-mappings.js.map +1 -0
  317. package/lib-esm/schemas/shield-information-barrier-base.generated.d.ts +18 -0
  318. package/lib-esm/schemas/shield-information-barrier-base.generated.js +3 -0
  319. package/lib-esm/schemas/shield-information-barrier-base.generated.js.map +1 -0
  320. package/lib-esm/schemas/shield-information-barrier-reference.generated.d.ts +9 -0
  321. package/lib-esm/schemas/shield-information-barrier-reference.generated.js +3 -0
  322. package/lib-esm/schemas/shield-information-barrier-reference.generated.js.map +1 -0
  323. package/lib-esm/schemas/shield-information-barrier-report-base.generated.d.ts +18 -0
  324. package/lib-esm/schemas/shield-information-barrier-report-base.generated.js +3 -0
  325. package/lib-esm/schemas/shield-information-barrier-report-base.generated.js.map +1 -0
  326. package/lib-esm/schemas/shield-information-barrier-report-details.generated.d.ts +9 -0
  327. package/lib-esm/schemas/shield-information-barrier-report-details.generated.js +3 -0
  328. package/lib-esm/schemas/shield-information-barrier-report-details.generated.js.map +1 -0
  329. package/lib-esm/schemas/shield-information-barrier-report.generated.d.ts +32 -0
  330. package/lib-esm/schemas/shield-information-barrier-report.generated.js +3 -0
  331. package/lib-esm/schemas/shield-information-barrier-report.generated.js.map +1 -0
  332. package/lib-esm/schemas/shield-information-barrier-reports.generated.d.ts +26 -0
  333. package/lib-esm/schemas/shield-information-barrier-reports.generated.js +3 -0
  334. package/lib-esm/schemas/shield-information-barrier-reports.generated.js.map +1 -0
  335. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.d.ts +19 -0
  336. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js +3 -0
  337. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js.map +1 -0
  338. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.d.ts +13 -0
  339. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js +3 -0
  340. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js.map +1 -0
  341. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.d.ts +39 -0
  342. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js +3 -0
  343. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js.map +1 -0
  344. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.d.ts +26 -0
  345. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js +3 -0
  346. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js.map +1 -0
  347. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.d.ts +20 -0
  348. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js +3 -0
  349. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js.map +1 -0
  350. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.d.ts +20 -0
  351. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js +3 -0
  352. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js.map +1 -0
  353. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.d.ts +33 -0
  354. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js +3 -0
  355. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js.map +1 -0
  356. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.d.ts +26 -0
  357. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js +3 -0
  358. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
  359. package/lib-esm/schemas/shield-information-barrier-segment.generated.d.ts +50 -0
  360. package/lib-esm/schemas/shield-information-barrier-segment.generated.js +3 -0
  361. package/lib-esm/schemas/shield-information-barrier-segment.generated.js.map +1 -0
  362. package/lib-esm/schemas/shield-information-barrier-segments.generated.d.ts +26 -0
  363. package/lib-esm/schemas/shield-information-barrier-segments.generated.js +3 -0
  364. package/lib-esm/schemas/shield-information-barrier-segments.generated.js.map +1 -0
  365. package/lib-esm/schemas/shield-information-barrier.generated.d.ts +56 -0
  366. package/lib-esm/schemas/shield-information-barrier.generated.js +3 -0
  367. package/lib-esm/schemas/shield-information-barrier.generated.js.map +1 -0
  368. package/lib-esm/schemas/shield-information-barriers.generated.d.ts +25 -0
  369. package/lib-esm/schemas/shield-information-barriers.generated.js +3 -0
  370. package/lib-esm/schemas/shield-information-barriers.generated.js.map +1 -0
  371. package/lib-esm/schemas/sign-request-base.generated.d.ts +78 -0
  372. package/lib-esm/schemas/sign-request-base.generated.js +3 -0
  373. package/lib-esm/schemas/sign-request-base.generated.js.map +1 -0
  374. package/lib-esm/schemas/sign-request-create-request.generated.d.ts +39 -0
  375. package/lib-esm/schemas/sign-request-create-request.generated.js +3 -0
  376. package/lib-esm/schemas/sign-request-create-request.generated.js.map +1 -0
  377. package/lib-esm/schemas/sign-request-create-signer.generated.d.ts +95 -0
  378. package/lib-esm/schemas/sign-request-create-signer.generated.js +3 -0
  379. package/lib-esm/schemas/sign-request-create-signer.generated.js.map +1 -0
  380. package/lib-esm/schemas/sign-request-prefill-tag.generated.d.ts +28 -0
  381. package/lib-esm/schemas/sign-request-prefill-tag.generated.js +3 -0
  382. package/lib-esm/schemas/sign-request-prefill-tag.generated.js.map +1 -0
  383. package/lib-esm/schemas/sign-request-signer-input.generated.d.ts +28 -0
  384. package/lib-esm/schemas/sign-request-signer-input.generated.js +3 -0
  385. package/lib-esm/schemas/sign-request-signer-input.generated.js.map +1 -0
  386. package/lib-esm/schemas/sign-request-signer.generated.d.ts +34 -0
  387. package/lib-esm/schemas/sign-request-signer.generated.js +3 -0
  388. package/lib-esm/schemas/sign-request-signer.generated.js.map +1 -0
  389. package/lib-esm/schemas/sign-request.generated.d.ts +72 -0
  390. package/lib-esm/schemas/sign-request.generated.js +3 -0
  391. package/lib-esm/schemas/sign-request.generated.js.map +1 -0
  392. package/lib-esm/schemas/sign-requests.generated.d.ts +25 -0
  393. package/lib-esm/schemas/sign-requests.generated.js +3 -0
  394. package/lib-esm/schemas/sign-requests.generated.js.map +1 -0
  395. package/lib-esm/schemas/sign-template.generated.d.ts +94 -0
  396. package/lib-esm/schemas/sign-template.generated.js +3 -0
  397. package/lib-esm/schemas/sign-template.generated.js.map +1 -0
  398. package/lib-esm/schemas/sign-templates.generated.d.ts +30 -0
  399. package/lib-esm/schemas/sign-templates.generated.js +3 -0
  400. package/lib-esm/schemas/sign-templates.generated.js.map +1 -0
  401. package/lib-esm/schemas/template-signer-input.generated.d.ts +61 -0
  402. package/lib-esm/schemas/template-signer-input.generated.js +3 -0
  403. package/lib-esm/schemas/template-signer-input.generated.js.map +1 -0
  404. package/lib-esm/schemas/template-signer.generated.d.ts +43 -0
  405. package/lib-esm/schemas/template-signer.generated.js +3 -0
  406. package/lib-esm/schemas/template-signer.generated.js.map +1 -0
  407. package/lib-esm/schemas/user-base.generated.d.ts +18 -0
  408. package/lib-esm/schemas/user-base.generated.js +3 -0
  409. package/lib-esm/schemas/user-base.generated.js.map +1 -0
  410. package/lib-esm/schemas/user-integration-mappings.d.ts +19 -0
  411. package/lib-esm/schemas/user-integration-mappings.js +3 -0
  412. package/lib-esm/schemas/user-integration-mappings.js.map +1 -0
  413. package/lib-esm/schemas/user-mini.d.ts +6 -0
  414. package/lib-esm/schemas/user-mini.js +3 -0
  415. package/lib-esm/schemas/user-mini.js.map +1 -0
  416. package/lib-esm/sessions/app-auth-session.d.ts +92 -0
  417. package/lib-esm/sessions/app-auth-session.js +176 -0
  418. package/lib-esm/sessions/app-auth-session.js.map +1 -0
  419. package/lib-esm/sessions/basic-session.d.ts +55 -0
  420. package/lib-esm/sessions/basic-session.js +62 -0
  421. package/lib-esm/sessions/basic-session.js.map +1 -0
  422. package/lib-esm/sessions/ccg-session.d.ts +72 -0
  423. package/lib-esm/sessions/ccg-session.js +111 -0
  424. package/lib-esm/sessions/ccg-session.js.map +1 -0
  425. package/lib-esm/sessions/persistent-session.d.ts +96 -0
  426. package/lib-esm/sessions/persistent-session.js +234 -0
  427. package/lib-esm/sessions/persistent-session.js.map +1 -0
  428. package/lib-esm/token-manager.d.ts +191 -0
  429. package/lib-esm/token-manager.js +453 -0
  430. package/lib-esm/token-manager.js.map +1 -0
  431. package/lib-esm/util/config.d.ts +85 -0
  432. package/lib-esm/util/config.js +212 -0
  433. package/lib-esm/util/config.js.map +1 -0
  434. package/lib-esm/util/errors.d.ts +50 -0
  435. package/lib-esm/util/errors.js +176 -0
  436. package/lib-esm/util/errors.js.map +1 -0
  437. package/lib-esm/util/exponential-backoff.d.ts +11 -0
  438. package/lib-esm/util/exponential-backoff.js +17 -0
  439. package/lib-esm/util/exponential-backoff.js.map +1 -0
  440. package/lib-esm/util/paging-iterator.d.ts +53 -0
  441. package/lib-esm/util/paging-iterator.js +247 -0
  442. package/lib-esm/util/paging-iterator.js.map +1 -0
  443. package/lib-esm/util/serializable.d.ts +10 -0
  444. package/lib-esm/util/serializable.js +17 -0
  445. package/lib-esm/util/serializable.js.map +1 -0
  446. package/lib-esm/util/url-path.d.ts +16 -0
  447. package/lib-esm/util/url-path.js +36 -0
  448. package/lib-esm/util/url-path.js.map +1 -0
  449. package/package.json +33 -28
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @fileoverview Upload manager for large file uploads
3
+ */
4
+ /**
5
+ * Chunk uploaded event
6
+ * @event Chunk#uploaded
7
+ * @param {UploadPart} data The data of the uploaded chunk
8
+ * @private
9
+ */
10
+ /**
11
+ * Chunk error event
12
+ * @event Chunk#error
13
+ * @param {Error} err The error that occurred
14
+ * @private
15
+ */
16
+ /**
17
+ * Event for when the upload is successfully aborted
18
+ * @event ChunkedUploader#aborted
19
+ */
20
+ /**
21
+ * Event for when the abort fails because the upload session is not destroyed.
22
+ * In general, the abort can be retried, and no new chunks will be uploaded.
23
+ * @event ChunkedUploader#abortFailed
24
+ * @param {Error} err The error that occurred
25
+ */
26
+ /**
27
+ * Event for when a chunk fails to upload. Note that the chunk will automatically
28
+ * retry until it is successfully uploaded.
29
+ * @event ChunkedUploader#chunkError
30
+ * @param {Error} err The error that occurred during chunk upload
31
+ */
32
+ /**
33
+ * Event for when a chunk is successfully uploaded
34
+ * @event ChunkedUploader#chunkUploaded
35
+ * @param {UploadPart} data The data for the uploaded chunk
36
+ */
37
+ /**
38
+ * Event for when the entire upload is complete
39
+ * @event ChunkedUploader#uploadComplete
40
+ * @param {Object} file The file object for the newly-uploaded file
41
+ */
42
+ /**
43
+ * Event for when an upload fails
44
+ * @event ChunkedUploader#error
45
+ * @param {Error} err The error that occurred
46
+ */
47
+ type ChunkedUploaderOptions = {
48
+ retryInterval?: number;
49
+ parallelism?: number;
50
+ fileAttributes?: Record<string, any>;
51
+ };
52
+ type UploadSessionInfo = {
53
+ id: string;
54
+ part_size: number;
55
+ };
56
+ import { EventEmitter } from 'events';
57
+ import { Readable as ReadableStream } from 'stream';
58
+ import crypto from 'crypto';
59
+ import BoxClient from './box-client';
60
+ /** Manager for uploading a file in chunks */
61
+ declare class ChunkedUploader extends EventEmitter {
62
+ _client: BoxClient;
63
+ _sessionID: string;
64
+ _partSize: number;
65
+ _uploadSessionInfo: UploadSessionInfo;
66
+ _stream: ReadableStream | null;
67
+ _streamBuffer: Array<any>;
68
+ _file: Buffer | string | null;
69
+ _size: number;
70
+ _options: Required<ChunkedUploaderOptions>;
71
+ _isStarted: boolean;
72
+ _numChunksInFlight: number;
73
+ _chunks: Array<any>;
74
+ _position: number;
75
+ _fileHash: crypto.Hash;
76
+ _promise?: Promise<any>;
77
+ _resolve?: Function;
78
+ _reject?: Function;
79
+ /**
80
+ * Create an upload manager
81
+ * @param {BoxClient} client The client to use to upload the file
82
+ * @param {Object} uploadSessionInfo The upload session info to use for chunked upload
83
+ * @param {ReadableStream|Buffer|string} file The file to upload
84
+ * @param {int} size The size of the file to be uploaded
85
+ * @param {Object} [options] Optional parameters
86
+ * @param {int} [options.retryInterval=1000] The number of ms to wait before retrying operations
87
+ * @param {int} [options.parallelism=4] The number of concurrent chunks to upload
88
+ * @param {Object} [options.fileAttributes] Attributes to set on the file during commit
89
+ */
90
+ constructor(client: BoxClient, uploadSessionInfo: UploadSessionInfo, file: ReadableStream | Buffer | string, size: number, options?: ChunkedUploaderOptions);
91
+ /**
92
+ * Start an upload
93
+ * @returns {Promise<Object>} A promise resolving to the uploaded file
94
+ */
95
+ start(): Promise<any> | undefined;
96
+ /**
97
+ * Abort a running upload, which cancels all currently uploading chunks,
98
+ * attempts to free up held memory, and aborts the upload session. This
99
+ * cannot be undone or resumed.
100
+ * @returns {Promise} A promise resolving when the upload is aborted
101
+ * @emits ChunkedUploader#aborted
102
+ * @emits ChunkedUploader#abortFailed
103
+ */
104
+ abort(): any;
105
+ /**
106
+ * Get the next chunk of the file to be uploaded
107
+ * @param {Function} callback Called with the next chunk of the file to be uploaded
108
+ * @returns {void}
109
+ * @private
110
+ */
111
+ _getNextChunk(callback: Function): void;
112
+ /**
113
+ * Upload a chunk
114
+ * @param {Chunk} chunk The chunk to upload
115
+ * @returns {void}
116
+ * @emits ChunkedUploader#chunkError
117
+ * @emits ChunkedUploader#chunkUploaded
118
+ */
119
+ _uploadChunk(chunk: any): void;
120
+ /**
121
+ * Commit the upload, finalizing it
122
+ * @returns {void}
123
+ * @emits ChunkedUploader#uploadComplete
124
+ * @emits ChunkedUploader#error
125
+ */
126
+ _commit(): void;
127
+ }
128
+ export = ChunkedUploader;
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Upload manager for large file uploads
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ const bluebird_1 = require("bluebird");
9
+ // -----------------------------------------------------------------------------
10
+ // Requirements
11
+ // -----------------------------------------------------------------------------
12
+ const events_1 = require("events");
13
+ const stream_1 = require("stream");
14
+ const crypto_1 = __importDefault(require("crypto"));
15
+ // -----------------------------------------------------------------------------
16
+ // Private
17
+ // -----------------------------------------------------------------------------
18
+ const DEFAULT_OPTIONS = Object.freeze({
19
+ parallelism: 4,
20
+ retryInterval: 1000,
21
+ });
22
+ /**
23
+ * Chunk of a file to be uploaded, which handles trying to upload itself until
24
+ * it succeeds.
25
+ * @private
26
+ */
27
+ class Chunk extends events_1.EventEmitter {
28
+ /**
29
+ * Create a Chunk, representing a part of a file being uploaded
30
+ * @param {BoxClient} client The Box SDK client
31
+ * @param {string} sessionID The ID of the upload session the chunk belongs to
32
+ * @param {Buffer|string} chunk The chunk that was uploaded
33
+ * @param {int} offset The byte offset within the file where this chunk begins
34
+ * @param {int} totalSize The total size of the file this chunk belongs to
35
+ * @param {Object} options The options from the ChunkedUploader
36
+ * @param {int} options.retryInterval The number of ms to wait before retrying a chunk upload
37
+ */
38
+ constructor(client, sessionID, chunk, offset, totalSize, options) {
39
+ super();
40
+ this.client = client;
41
+ this.sessionID = sessionID;
42
+ this.chunk = chunk;
43
+ this.length = chunk.length;
44
+ this.offset = offset;
45
+ this.totalSize = totalSize;
46
+ this.options = options;
47
+ this.data = null;
48
+ this.retry = null;
49
+ this.canceled = false;
50
+ }
51
+ /**
52
+ * Get the final object representation of this chunk for the API
53
+ * @returns {UploadPart} The chunk object
54
+ */
55
+ getData() {
56
+ return this.data.part;
57
+ }
58
+ /**
59
+ * Upload a chunk to the API
60
+ * @returns {void}
61
+ * @emits Chunk#uploaded
62
+ * @emits Chunk#error
63
+ */
64
+ upload() {
65
+ this.client.files.uploadPart(this.sessionID, this.chunk, this.offset, this.totalSize, (err /* FIXME */, data /* FIXME */) => {
66
+ if (this.canceled) {
67
+ this.chunk = null;
68
+ return;
69
+ }
70
+ if (err) {
71
+ // handle the error or retry
72
+ if (err.statusCode) {
73
+ // an API error, probably not retryable!
74
+ this.emit('error', err);
75
+ }
76
+ else {
77
+ // maybe a network error, retry
78
+ this.retry = setTimeout(() => this.upload(), this.options.retryInterval);
79
+ }
80
+ return;
81
+ }
82
+ // Record the chunk data for commit, and try to free up the chunk buffer
83
+ this.data = data;
84
+ this.chunk = null;
85
+ this.emit('uploaded', data);
86
+ });
87
+ }
88
+ /**
89
+ * Cancel trying to upload a chunk, preventing it from retrying and clearing
90
+ * the associated buffer
91
+ * @returns {void}
92
+ */
93
+ cancel() {
94
+ clearTimeout(this.retry); // number or NodeJS.Timeout
95
+ this.chunk = null;
96
+ this.canceled = true;
97
+ }
98
+ }
99
+ // -----------------------------------------------------------------------------
100
+ // Public
101
+ // -----------------------------------------------------------------------------
102
+ /** Manager for uploading a file in chunks */
103
+ class ChunkedUploader extends events_1.EventEmitter {
104
+ /**
105
+ * Create an upload manager
106
+ * @param {BoxClient} client The client to use to upload the file
107
+ * @param {Object} uploadSessionInfo The upload session info to use for chunked upload
108
+ * @param {ReadableStream|Buffer|string} file The file to upload
109
+ * @param {int} size The size of the file to be uploaded
110
+ * @param {Object} [options] Optional parameters
111
+ * @param {int} [options.retryInterval=1000] The number of ms to wait before retrying operations
112
+ * @param {int} [options.parallelism=4] The number of concurrent chunks to upload
113
+ * @param {Object} [options.fileAttributes] Attributes to set on the file during commit
114
+ */
115
+ constructor(client, uploadSessionInfo, file, size, options) {
116
+ super();
117
+ this._client = client;
118
+ this._sessionID = uploadSessionInfo.id;
119
+ this._partSize = uploadSessionInfo.part_size;
120
+ this._uploadSessionInfo = uploadSessionInfo;
121
+ if (file instanceof stream_1.Readable) {
122
+ // Pause the stream so we can read specific chunks from it
123
+ this._stream = file.pause();
124
+ this._streamBuffer = [];
125
+ }
126
+ else if (file instanceof Buffer || typeof file === 'string') {
127
+ this._file = file;
128
+ }
129
+ else {
130
+ throw new TypeError('file must be a Stream, Buffer, or string!');
131
+ }
132
+ this._size = size;
133
+ this._options = Object.assign({}, DEFAULT_OPTIONS, options);
134
+ this._isStarted = false;
135
+ this._numChunksInFlight = 0;
136
+ this._chunks = [];
137
+ this._position = 0;
138
+ this._fileHash = crypto_1.default.createHash('sha1');
139
+ }
140
+ /**
141
+ * Start an upload
142
+ * @returns {Promise<Object>} A promise resolving to the uploaded file
143
+ */
144
+ start() {
145
+ if (this._isStarted) {
146
+ return this._promise;
147
+ }
148
+ // Create the initial chunks
149
+ for (let i = 0; i < this._options.parallelism; i++) {
150
+ this._getNextChunk((chunk /* FIXME */) => chunk ? this._uploadChunk(chunk) : this._commit());
151
+ }
152
+ this._isStarted = true;
153
+ /* eslint-disable promise/avoid-new */
154
+ this._promise = new bluebird_1.Promise((resolve, reject) => {
155
+ this._resolve = resolve;
156
+ this._reject = reject;
157
+ });
158
+ /* eslint-enable promise/avoid-new */
159
+ return this._promise;
160
+ }
161
+ /**
162
+ * Abort a running upload, which cancels all currently uploading chunks,
163
+ * attempts to free up held memory, and aborts the upload session. This
164
+ * cannot be undone or resumed.
165
+ * @returns {Promise} A promise resolving when the upload is aborted
166
+ * @emits ChunkedUploader#aborted
167
+ * @emits ChunkedUploader#abortFailed
168
+ */
169
+ abort() {
170
+ this._chunks.forEach((chunk) => chunk.removeAllListeners().cancel());
171
+ this._chunks = [];
172
+ this._file = null;
173
+ this._stream = null;
174
+ return (this._client.files
175
+ .abortUploadSession(this._sessionID)
176
+ /* eslint-disable promise/always-return */
177
+ .then(() => {
178
+ this.emit('aborted');
179
+ })
180
+ /* eslint-enable promise/always-return */
181
+ .catch((err /* FIXME */) => {
182
+ this.emit('abortFailed', err);
183
+ throw err;
184
+ }));
185
+ }
186
+ /**
187
+ * Get the next chunk of the file to be uploaded
188
+ * @param {Function} callback Called with the next chunk of the file to be uploaded
189
+ * @returns {void}
190
+ * @private
191
+ */
192
+ _getNextChunk(callback) {
193
+ if (this._position >= this._size) {
194
+ callback(null);
195
+ return;
196
+ }
197
+ let buf;
198
+ if (this._file) {
199
+ // Buffer/string case, just get the slice we need
200
+ buf = this._file.slice(this._position, this._position + this._partSize);
201
+ }
202
+ else if (this._streamBuffer.length > 0) {
203
+ buf = this._streamBuffer.shift();
204
+ }
205
+ else {
206
+ // Stream case, need to read
207
+ buf = this._stream.read(this._partSize);
208
+ if (!buf) {
209
+ // stream needs to read more, retry later
210
+ setImmediate(() => this._getNextChunk(callback));
211
+ return;
212
+ }
213
+ else if (buf.length > this._partSize) {
214
+ // stream is done reading and had extra data, buffer the remainder of the file
215
+ for (let i = 0; i < buf.length; i += this._partSize) {
216
+ this._streamBuffer.push(buf.slice(i, i + this._partSize));
217
+ }
218
+ buf = this._streamBuffer.shift();
219
+ }
220
+ }
221
+ this._fileHash.update(buf);
222
+ let chunk = new Chunk(this._client, this._sessionID, buf, this._position, this._size, this._options);
223
+ this._position += buf.length;
224
+ callback(chunk);
225
+ }
226
+ /**
227
+ * Upload a chunk
228
+ * @param {Chunk} chunk The chunk to upload
229
+ * @returns {void}
230
+ * @emits ChunkedUploader#chunkError
231
+ * @emits ChunkedUploader#chunkUploaded
232
+ */
233
+ _uploadChunk(chunk /* FIXME */) {
234
+ this._numChunksInFlight += 1;
235
+ chunk.on('error', (err /* FIXME */) => this.emit('chunkError', err));
236
+ chunk.on('uploaded', (data /* FIXME */) => {
237
+ this._numChunksInFlight -= 1;
238
+ this.emit('chunkUploaded', data);
239
+ this._getNextChunk((nextChunk /* FIXME */) => nextChunk ? this._uploadChunk(nextChunk) : this._commit());
240
+ });
241
+ chunk.upload();
242
+ this._chunks.push(chunk);
243
+ }
244
+ /**
245
+ * Commit the upload, finalizing it
246
+ * @returns {void}
247
+ * @emits ChunkedUploader#uploadComplete
248
+ * @emits ChunkedUploader#error
249
+ */
250
+ _commit() {
251
+ if (!this._isStarted || this._numChunksInFlight > 0) {
252
+ return;
253
+ }
254
+ let hash = this._fileHash.digest('base64');
255
+ this._isStarted = false;
256
+ let options = Object.assign({
257
+ parts: this._chunks.map((c) => c.getData()),
258
+ }, this._options.fileAttributes);
259
+ this._client.files.commitUploadSession(this._sessionID, hash, options, (err /* FIMXE */, file /* FIMXE */) => {
260
+ // It's not clear what the SDK can do here, so we just return the error and session info
261
+ // so users can retry if they wish
262
+ if (err) {
263
+ this.emit('error', {
264
+ uploadSession: this._uploadSessionInfo,
265
+ error: err,
266
+ });
267
+ this._reject(err);
268
+ return;
269
+ }
270
+ this.emit('uploadComplete', file);
271
+ this._resolve(file);
272
+ });
273
+ }
274
+ }
275
+ module.exports = ChunkedUploader;
276
+ //# sourceMappingURL=chunked-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunked-uploader.js","sourceRoot":"","sources":["../src/chunked-uploader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @fileoverview Enterprise event stream backed by the enterprise events API
3
+ */
4
+ import { Readable } from 'stream';
5
+ import BoxClient from './box-client';
6
+ type Options = {
7
+ streamPosition?: string;
8
+ startDate?: string;
9
+ endDate?: string;
10
+ eventTypeFilter?: EventType[];
11
+ pollingInterval?: number;
12
+ chunkSize?: number;
13
+ streamType?: 'admin_logs' | 'admin_logs_streaming';
14
+ };
15
+ type EventType = string;
16
+ /**
17
+ * Stream of Box enterprise events.
18
+ *
19
+ * By default, the stream starts from the current time.
20
+ * Pass 'startDate' to start from a specific time.
21
+ * Pass 'streamPosition' to start from a previous stream position, or '0' for all available past events (~1 year).
22
+ * Once the stream catches up to the current time, it will begin polling every 'pollingInterval' seconds.
23
+ * If 'pollingInterval' = 0, then the stream will end when it catches up to the current time (no polling).
24
+ *
25
+ * @param {BoxClient} client - The client to use to get events
26
+ * @param {Object} [options] - Options
27
+ * @param {string} [options.streamPosition] - The stream position to start from (pass '0' for all past events)
28
+ * @param {string} [options.startDate] - The date to start from
29
+ * @param {string} [options.endDate] - The date to end at
30
+ * @param {EventType[]} [options.eventTypeFilter] - Array of event types to return
31
+ * @param {int} [options.pollingInterval=60] - Polling interval (in seconds). Pass 0 for no polling.
32
+ * @param {int} [options.chunkSize=500] - Number of events to fetch per call (max = 500)
33
+ * @constructor
34
+ * @extends Readable
35
+ */
36
+ declare class EnterpriseEventStream extends Readable {
37
+ _client: BoxClient;
38
+ _options: Options & Required<Pick<Options, 'pollingInterval' | 'chunkSize'>>;
39
+ _streamPosition?: string;
40
+ constructor(client: BoxClient, options?: Options);
41
+ /**
42
+ * @returns {?number} - Returns null if no events have been fetched from Box yet.
43
+ */
44
+ getStreamPosition(): string | undefined;
45
+ /**
46
+ * Get the stream state.
47
+ *
48
+ * @returns {Object} - The stream state
49
+ */
50
+ getStreamState(): {
51
+ streamPosition: string | undefined;
52
+ startDate: string | undefined;
53
+ endDate: string | undefined;
54
+ eventTypeFilter: string[] | undefined;
55
+ };
56
+ /**
57
+ * Set the stream state.
58
+ *
59
+ * @param {Object} state - The stream state
60
+ * @returns {void}
61
+ */
62
+ setStreamState(state: Pick<Options, 'streamPosition' | 'startDate' | 'endDate' | 'eventTypeFilter'>): void;
63
+ /**
64
+ * Fetch the next chunk of events
65
+ *
66
+ * If there are no events, poll until events are available.
67
+ * If an error occurs, emit the error but continuing polling as usual.
68
+ * @param {Function} callback - Passed the array of events
69
+ * @returns {void}
70
+ * @private
71
+ */
72
+ fetchEvents(callback: Function): void;
73
+ /**
74
+ * Implementation of the stream-internal read function. This is called
75
+ * by the stream whenever it needs more data, and will not be called again
76
+ * until data is pushed into the stream.
77
+ * @returns {void}
78
+ * @private
79
+ */
80
+ _read(): void;
81
+ }
82
+ export = EnterpriseEventStream;