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,594 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Box API Client
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
+ // API Resource Managers
11
+ // ------------------------------------------------------------------------------
12
+ const ai_generated_1 = __importDefault(require("./managers/ai.generated"));
13
+ const collaboration_allowlist_1 = __importDefault(require("./managers/collaboration-allowlist"));
14
+ const collaborations_1 = __importDefault(require("./managers/collaborations"));
15
+ const collections_1 = __importDefault(require("./managers/collections"));
16
+ const comments_1 = __importDefault(require("./managers/comments"));
17
+ const device_pins_1 = __importDefault(require("./managers/device-pins"));
18
+ const enterprise_1 = __importDefault(require("./managers/enterprise"));
19
+ const events_1 = __importDefault(require("./managers/events"));
20
+ const files_1 = __importDefault(require("./managers/files"));
21
+ const folders_1 = __importDefault(require("./managers/folders"));
22
+ const groups_1 = __importDefault(require("./managers/groups"));
23
+ const legal_hold_policies_1 = __importDefault(require("./managers/legal-hold-policies"));
24
+ const metadata_1 = __importDefault(require("./managers/metadata"));
25
+ const recent_items_1 = __importDefault(require("./managers/recent-items"));
26
+ const retention_policies_1 = __importDefault(require("./managers/retention-policies"));
27
+ const search_1 = __importDefault(require("./managers/search"));
28
+ const shared_items_1 = __importDefault(require("./managers/shared-items"));
29
+ const sign_requests_generated_1 = __importDefault(require("./managers/sign-requests.generated"));
30
+ const sign_templates_generated_1 = __importDefault(require("./managers/sign-templates.generated"));
31
+ const storage_policies_1 = __importDefault(require("./managers/storage-policies"));
32
+ const tasks_1 = __importDefault(require("./managers/tasks"));
33
+ const terms_of_service_1 = __importDefault(require("./managers/terms-of-service"));
34
+ const trash_1 = __importDefault(require("./managers/trash"));
35
+ const users_1 = __importDefault(require("./managers/users"));
36
+ const web_links_1 = __importDefault(require("./managers/web-links"));
37
+ const webhooks_1 = __importDefault(require("./managers/webhooks"));
38
+ const file_requests_manager_1 = __importDefault(require("./managers/file-requests-manager"));
39
+ const shield_information_barriers_generated_1 = __importDefault(require("./managers/shield-information-barriers.generated"));
40
+ const shield_information_barrier_segments_generated_1 = __importDefault(require("./managers/shield-information-barrier-segments.generated"));
41
+ const shield_information_barrier_segment_members_generated_1 = __importDefault(require("./managers/shield-information-barrier-segment-members.generated"));
42
+ const shield_information_barrier_segment_restrictions_generated_1 = __importDefault(require("./managers/shield-information-barrier-segment-restrictions.generated"));
43
+ const shield_information_barrier_reports_generated_1 = __importDefault(require("./managers/shield-information-barrier-reports.generated"));
44
+ const integration_mappings_1 = __importDefault(require("./managers/integration-mappings"));
45
+ // ------------------------------------------------------------------------------
46
+ // Requirements
47
+ // ------------------------------------------------------------------------------
48
+ var util = require('util'), qs = require('querystring'), errors = require('./util/errors'), httpStatusCodes = require('http-status'), isIP = require('net').isIP, merge = require('merge-options'), PagingIterator = require('./util/paging-iterator'), pkg = require('../package.json');
49
+ // ------------------------------------------------------------------------------
50
+ // Private
51
+ // ------------------------------------------------------------------------------
52
+ // The Authorization header label
53
+ var HEADER_AUTHORIZATION = 'Authorization',
54
+ // Prefix our token with this string in the Authorization header
55
+ HEADER_AUTHORIZATION_PREFIX = 'Bearer ',
56
+ // The 'BoxApi' header label
57
+ HEADER_BOXAPI = 'BoxApi',
58
+ // The XFF header label - Used to give the API better information for uploads, rate-limiting, etc.
59
+ HEADER_XFF = 'X-Forwarded-For',
60
+ // As-User header
61
+ HEADER_AS_USER = 'As-User',
62
+ // Range of SUCCESS http status codes
63
+ HTTP_STATUS_CODE_SUCCESS_BLOCK_RANGE = [200, 299];
64
+ /**
65
+ * Build the 'Authorization' Header for the API
66
+ *
67
+ * @param {string} accessToken An OAuth Access Token
68
+ * @returns {string} A properly formatted 'Authorization' header
69
+ * @private
70
+ */
71
+ function buildAuthorizationHeader(accessToken) {
72
+ return HEADER_AUTHORIZATION_PREFIX + accessToken;
73
+ }
74
+ /**
75
+ * Returns true iff the response is a 401 UNAUTHORIZED that is caused by an expired access token.
76
+ * @param {APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
77
+ * @returns {boolean} - true iff the response is a 401 UNAUTHORIZED caused by an expired access token
78
+ * @private
79
+ */
80
+ function isUnauthorizedDueToExpiredAccessToken(response /* FIXME */) {
81
+ // There are three cases to consider:
82
+ // 1) The response body is a Buffer. This indicates that the request was malformed (i.e. malformed url) so return false.
83
+ // 2) The status code is UNAUTHORIZED and the response body is an empty object or null. This indicates that the access tokens are expired, so return true.
84
+ // 3) The status code is UNAUTHORIZED and the response body is a non-empty object. This indicates that the 401 was returned for some reason other
85
+ // than expired tokens, so return false.
86
+ if (Buffer.isBuffer(response.body)) {
87
+ return false;
88
+ }
89
+ var isResponseStatusCodeUnauthorized = response.statusCode === httpStatusCodes.UNAUTHORIZED, isResponseBodyEmpty = !response.body || Object.getOwnPropertyNames(response.body).length === 0;
90
+ return isResponseStatusCodeUnauthorized && isResponseBodyEmpty;
91
+ }
92
+ /**
93
+ * Returns a full URL. If the url argument begins with http:// or https://, then url is simply returned.
94
+ * Otherwise, the defaultBasePath is prepended to url and returned.
95
+ *
96
+ * @param {string} defaultBasePath The default root URL that will be prepended if `url` is a partial url
97
+ * @param {string} url A full or partial URL that will be used to construct the final URL
98
+ * @returns {string} The final URL
99
+ * @private
100
+ */
101
+ function getFullURL(defaultBasePath, url) {
102
+ if (/^https?:\/\//.test(url)) {
103
+ return url;
104
+ }
105
+ return defaultBasePath + url;
106
+ }
107
+ /**
108
+ * Construct the X-Box-UA header to send analytics identifiers
109
+ * @param {Object} [client] Analytics client information
110
+ * @returns {string} The header value
111
+ */
112
+ function constructBoxUAHeader(client /* FIXME */) {
113
+ var analyticsIdentifiers = {
114
+ agent: `box-node-sdk/${pkg.version}`,
115
+ env: `Node/${process.version.replace('v', '')}`,
116
+ };
117
+ if (client) {
118
+ analyticsIdentifiers.client = `${client.name}/${client.version}`;
119
+ }
120
+ return Object.keys(analyticsIdentifiers)
121
+ .map((k) => `${k}=${analyticsIdentifiers[k]}`)
122
+ .join('; ');
123
+ }
124
+ class BoxClient {
125
+ /**
126
+ * The BoxClient can make API calls on behalf of a valid API Session. It is responsible
127
+ * for formatting the requests and handling the response. Its goal is to deliver
128
+ * sensible results to the user.
129
+ *
130
+ * @param {APISession} apiSession An initialized API Session, used to get/revoke tokens and handle
131
+ * unauthorized responses from the API.
132
+ * @param {Config} config The SDK configuration options
133
+ * @param {APIRequestManager} requestManager The API Request Manager
134
+ * @constructor
135
+ */
136
+ constructor(apiSession, config /* FIXME */, requestManager) {
137
+ // the API Session used by the client for authentication
138
+ this._session = apiSession;
139
+ // Attach a request manager instance for making requests
140
+ this._requestManager = requestManager;
141
+ // An object of custom headers to apply to every request. Modified via BoxClient.setCustomHeader().
142
+ this._customHeaders = {};
143
+ // Attach the configured properties
144
+ this._baseURL = util.format('%s/%s', config.apiRootURL, config.apiVersion);
145
+ this._uploadBaseURL = util.format('%s/%s', config.uploadAPIRootURL, config.apiVersion);
146
+ this._uploadRequestTimeoutMS = config.uploadRequestTimeoutMS;
147
+ this._useIterators = config.iterators;
148
+ this._analyticsClient = config.analyticsClient;
149
+ // Attach API Resource Managers
150
+ this.ai = new ai_generated_1.default(this);
151
+ this.users = new users_1.default(this);
152
+ this.files = new files_1.default(this);
153
+ this.fileRequests = new file_requests_manager_1.default(this);
154
+ this.folders = new folders_1.default(this);
155
+ this.comments = new comments_1.default(this);
156
+ this.collaborations = new collaborations_1.default(this);
157
+ this.groups = new groups_1.default(this);
158
+ this.sharedItems = new shared_items_1.default(this);
159
+ this.metadata = new metadata_1.default(this);
160
+ this.collections = new collections_1.default(this);
161
+ this.events = new events_1.default(this);
162
+ this.search = new search_1.default(this);
163
+ this.tasks = new tasks_1.default(this);
164
+ this.trash = new trash_1.default(this);
165
+ this.enterprise = new enterprise_1.default(this);
166
+ this.legalHoldPolicies = new legal_hold_policies_1.default(this);
167
+ this.weblinks = new web_links_1.default(this);
168
+ this.retentionPolicies = new retention_policies_1.default(this);
169
+ this.devicePins = new device_pins_1.default(this);
170
+ this.webhooks = new webhooks_1.default(this);
171
+ this.recentItems = new recent_items_1.default(this);
172
+ this.collaborationAllowlist = new collaboration_allowlist_1.default(this);
173
+ this.termsOfService = new terms_of_service_1.default(this);
174
+ this.storagePolicies = new storage_policies_1.default(this);
175
+ this.signRequests = new sign_requests_generated_1.default(this);
176
+ this.signTemplates = new sign_templates_generated_1.default(this);
177
+ this.shieldInformationBarriers = new shield_information_barriers_generated_1.default(this);
178
+ this.shieldInformationBarrierSegments =
179
+ new shield_information_barrier_segments_generated_1.default(this);
180
+ this.shieldInformationBarrierSegmentMembers =
181
+ new shield_information_barrier_segment_members_generated_1.default(this);
182
+ this.shieldInformationBarrierSegmentRestrictions =
183
+ new shield_information_barrier_segment_restrictions_generated_1.default(this);
184
+ this.shieldInformationBarrierReports = new shield_information_barrier_reports_generated_1.default(this);
185
+ this.integrationMappings = new integration_mappings_1.default(this);
186
+ }
187
+ /**
188
+ * Returns an object containing the given headers as well as other headers (like the authorization header and
189
+ * custom headers) that should be included in a request.
190
+ * @param {?Object} callerHeaders - headers that the caller wishes to include in the request. This method will not
191
+ * override these headers with its own. Thus, if all the headers that this method was planning to add are already
192
+ * specified here, this method will return an object with exactly the same headers.
193
+ * @param {string} accessToken - the access token that will be used to make the request
194
+ * @returns {Object} - a new object with the headers needed for the request
195
+ * @private
196
+ */
197
+ _createHeadersForRequest(callerHeaders, accessToken) {
198
+ var headers = {};
199
+ // 'Authorization' - contains your valid access token for authorization
200
+ headers[HEADER_AUTHORIZATION] = buildAuthorizationHeader(accessToken);
201
+ // We copy our own custom headers (XFF, BoxApi, etc.) before copying over the caller-specified headers so that
202
+ // the caller-specified headers will take precedence.
203
+ Object.assign(headers, this._customHeaders, callerHeaders);
204
+ // Add analytics headers last so they cannot be overwritten
205
+ Object.assign(headers, {
206
+ 'X-Box-UA': constructBoxUAHeader(this._analyticsClient),
207
+ });
208
+ return headers;
209
+ }
210
+ /**
211
+ * Makes an API request to the Box API on behalf of the client. Before executing
212
+ * the request, it first ensures the user has usable tokens. Will be called again
213
+ * if the request returns a temporary error. Will propogate error if request returns
214
+ * a permanent error, or if usable tokens are not available.
215
+ *
216
+ * @param {Object} params - Request lib params to configure the request
217
+ * @param {Function} [callback] - passed response data
218
+ * @returns {Promise} Promise resolving to the response
219
+ * @private
220
+ */
221
+ _makeRequest(params /* FIXME */, callback) {
222
+ var promise = this._session
223
+ .getAccessToken(this._tokenOptions)
224
+ .then((accessToken) => {
225
+ params.headers = this._createHeadersForRequest(params.headers, accessToken);
226
+ if (params.streaming) {
227
+ // streaming is specific to the SDK, so delete it from params before continuing
228
+ delete params.streaming;
229
+ var responseStream = this._requestManager.makeStreamingRequest(params);
230
+ // Listen to 'response' event, so we can cleanup the token store in case when the request is unauthorized
231
+ // due to expired access token
232
+ responseStream.on('response', (response /* FIXME */) => {
233
+ if (isUnauthorizedDueToExpiredAccessToken(response)) {
234
+ var expiredTokensError = errors.buildAuthError(response);
235
+ // Give the session a chance to handle the error (ex: a persistent session will clear the token store)
236
+ if (this._session.handleExpiredTokensError) {
237
+ this._session.handleExpiredTokensError(expiredTokensError);
238
+ }
239
+ }
240
+ });
241
+ return responseStream;
242
+ }
243
+ // Make the request to Box, and perform standard response handling
244
+ return this._requestManager.makeRequest(params);
245
+ });
246
+ return promise
247
+ .then((response /* FIXME */) => {
248
+ if (!response.statusCode) {
249
+ // Response is not yet complete, and is just a stream that will return the response later
250
+ // Just return the stream, since it doesn't need further response handling
251
+ return response;
252
+ }
253
+ if (isUnauthorizedDueToExpiredAccessToken(response)) {
254
+ var expiredTokensError = errors.buildAuthError(response);
255
+ // Give the session a chance to handle the error (ex: a persistent session will clear the token store)
256
+ if (this._session.handleExpiredTokensError) {
257
+ return this._session.handleExpiredTokensError(expiredTokensError);
258
+ }
259
+ throw expiredTokensError;
260
+ }
261
+ return response;
262
+ })
263
+ .asCallback(callback);
264
+ }
265
+ /**
266
+ * Set a custom header. A custom header is applied to every request for the life of the client. To
267
+ * remove a header, set it's value to null.
268
+ *
269
+ * @param {string} header The name of the custom header to set.
270
+ * @param {*} value The value of the custom header. Set to null to remove the given header.
271
+ * @returns {void}
272
+ */
273
+ setCustomHeader(header, value) {
274
+ if (value) {
275
+ this._customHeaders[header] = value;
276
+ }
277
+ else {
278
+ delete this._customHeaders[header];
279
+ }
280
+ }
281
+ /**
282
+ * Sets the list of requesting IP addresses for the X-Forwarded-For header. Used to give the API
283
+ * better information for uploads, rate-limiting, etc.
284
+ *
285
+ * @param {string[]} ips - Array of IP Addresses
286
+ * @returns {void}
287
+ */
288
+ setIPs(ips) {
289
+ var validIPs = ips.filter((ipString) => isIP(ipString)).join(', ');
290
+ this.setCustomHeader(HEADER_XFF, validIPs);
291
+ this._tokenOptions = { ip: validIPs };
292
+ }
293
+ /**
294
+ * Sets the shared item context on the API Session. Overwrites any current context.
295
+ *
296
+ * @param {string} url The shared link url
297
+ * @param {?string} password The shared link password, null if no password exists.
298
+ * @returns {void}
299
+ */
300
+ setSharedContext(url, password) {
301
+ var sharedContextAuthHeader = this.buildSharedItemAuthHeader(url, password);
302
+ this.setCustomHeader(HEADER_BOXAPI, sharedContextAuthHeader);
303
+ }
304
+ /**
305
+ * Removes any current shared item context from API Session.
306
+ *
307
+ * @returns {void}
308
+ */
309
+ revokeSharedContext() {
310
+ this.setCustomHeader(HEADER_BOXAPI, null);
311
+ }
312
+ /**
313
+ * Set up the As-User context, which is used by enterprise admins to
314
+ * impersonate their managed users and perform actions on their behalf.
315
+ *
316
+ * @param {string} userID - The ID of the user to impersonate
317
+ * @returns {void}
318
+ */
319
+ asUser(userID) {
320
+ this.setCustomHeader(HEADER_AS_USER, userID);
321
+ }
322
+ /**
323
+ * Revoke the As-User context and return to making calls on behalf of the user
324
+ * who owns the client's access token.
325
+ *
326
+ * @returns {void}
327
+ */
328
+ asSelf() {
329
+ this.setCustomHeader(HEADER_AS_USER, null);
330
+ }
331
+ /**
332
+ * Revokes the client's access tokens. The client will no longer be tied to a user
333
+ * and will be unable to make calls to the API, rendering it effectively useless.
334
+ *
335
+ * @param {Function} [callback] Called after revoking, with an error if one existed
336
+ * @returns {Promise} A promise resolving when the client's access token is revoked
337
+ */
338
+ revokeTokens(callback) {
339
+ return this._session.revokeTokens(this._tokenOptions).asCallback(callback);
340
+ }
341
+ /**
342
+ * Exchange the client access token for one with lower scope
343
+ * @param {string|string[]} scopes The scope(s) requested for the new token
344
+ * @param {string} [resource] The absolute URL of an API resource to scope the new token to
345
+ * @param {Object} [options] - Optional parameters
346
+ * @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens with Token Auth client
347
+ * @param {SharedLinkParams} [options.sharedLink] - Optional shared link parameters for creating tokens using shared links
348
+ * @param {Function} [callback] Called with the new token
349
+ * @returns {Promise<TokenInfo>} A promise resolving to the exchanged token info
350
+ */
351
+ exchangeToken(scopes, resource, options, callback) {
352
+ // Shuffle optional parameters
353
+ if (typeof options === 'function') {
354
+ callback = options;
355
+ options = {};
356
+ }
357
+ var opts = Object.assign({ tokenRequestOptions: this._tokenOptions || null }, options);
358
+ return this._session
359
+ .exchangeToken(scopes, resource, opts)
360
+ .asCallback(callback);
361
+ }
362
+ /**
363
+ * Makes GET request to Box API V2 endpoint
364
+ *
365
+ * @param {string} path - path to a certain API endpoint (ex: /file)
366
+ * @param {?Object} params - object containing parameters for the request, such as query strings and headers
367
+ * @param {Function} [callback] - passed final API response or err if request failed
368
+ * @returns {void}
369
+ */
370
+ get(path, params, callback) {
371
+ var newParams = merge({}, params || {});
372
+ newParams.method = 'GET';
373
+ newParams.url = getFullURL(this._baseURL, path);
374
+ return this._makeRequest(newParams, callback);
375
+ }
376
+ /**
377
+ * Makes POST request to Box API V2 endpoint
378
+ *
379
+ * @param {string} path - path to a certain API endpoint (ex: /file)
380
+ * @param {?Object} params - object containing parameters for the request, such as query strings and headers
381
+ * @param {Function} [callback] - passed final API response or err if request failed
382
+ * @returns {void}
383
+ */
384
+ post(path, params, callback) {
385
+ var newParams = merge({}, params || {});
386
+ newParams.method = 'POST';
387
+ newParams.url = getFullURL(this._baseURL, path);
388
+ return this._makeRequest(newParams, callback);
389
+ }
390
+ /**
391
+ * Makes PUT request to Box API V2 endpoint
392
+ *
393
+ * @param {string} path - path to a certain API endpoint (ex: /file)
394
+ * @param {?Object} params - object containing parameters for the request, such as query strings and headers
395
+ * @param {Function} callback - passed final API response or err if request failed
396
+ * @returns {void}
397
+ */
398
+ put(path, params, callback) {
399
+ var newParams = merge({}, params || {});
400
+ newParams.method = 'PUT';
401
+ newParams.url = getFullURL(this._baseURL, path);
402
+ return this._makeRequest(newParams, callback);
403
+ }
404
+ /**
405
+ * Makes DELETE request to Box API V2 endpoint
406
+ *
407
+ * @param {string} path - path to a certain API endpoint (ex: /file)
408
+ * @param {?Object} params - object containing parameters for the request, such as query strings and headers
409
+ * @param {Function} callback - passed final API response or err if request failed
410
+ * @returns {void}
411
+ */
412
+ del(path, params, callback) {
413
+ var newParams = merge({}, params || {});
414
+ newParams.method = 'DELETE';
415
+ newParams.url = getFullURL(this._baseURL, path);
416
+ return this._makeRequest(newParams, callback);
417
+ }
418
+ /**
419
+ * Makes an OPTIONS call to a Box API V2 endpoint
420
+ *
421
+ * @param {string} path - Path to an API endpoint (e.g. /files/content)
422
+ * @param {?Object} params - An optional object containing request parameters
423
+ * @param {Function} callback - Called with API call results, or err if call failed
424
+ * @returns {void}
425
+ */
426
+ options(path, params, callback) {
427
+ var newParams = merge({}, params || {});
428
+ newParams.method = 'OPTIONS';
429
+ newParams.url = getFullURL(this._baseURL, path);
430
+ return this._makeRequest(newParams, callback);
431
+ }
432
+ /**
433
+ * Makes a POST call to a Box API V2 upload endpoint
434
+ * @param {string} path - path to an upload API endpoint
435
+ * @param {?Object} params - an optional object containing request parameters
436
+ * @param {?Object} formData - multipart form data to include in the upload request {@see https://github.com/mikeal/request#multipartform-data-multipart-form-uploads}
437
+ * @param {Function} callback - called with API call results, or an error if the call failed
438
+ * @returns {void}
439
+ */
440
+ upload(path, params, formData, callback) {
441
+ var defaults = {
442
+ method: 'POST',
443
+ };
444
+ var newParams = merge(defaults, params || {});
445
+ newParams.url = getFullURL(this._uploadBaseURL, path);
446
+ newParams.formData = formData;
447
+ newParams.timeout = this._uploadRequestTimeoutMS;
448
+ return this._makeRequest(newParams, callback);
449
+ }
450
+ /**
451
+ * Build the 'BoxApi' Header used for authenticating access to a shared item
452
+ *
453
+ * @param {string} url The shared link url
454
+ * @param {string} [password] The shared link password
455
+ * @returns {string} A properly formatted 'BoxApi' header
456
+ */
457
+ buildSharedItemAuthHeader(url, password) {
458
+ var encodedURL = encodeURIComponent(url), encodedPassword = encodeURIComponent(password ?? '');
459
+ if (password) {
460
+ return util.format('shared_link=%s&shared_link_password=%s', encodedURL, encodedPassword);
461
+ }
462
+ return util.format('shared_link=%s', encodedURL);
463
+ }
464
+ /**
465
+ * Return a callback that properly handles a successful response code by passing the response
466
+ * body to the original callback. Any request error or unsuccessful response codes are propagated
467
+ * back to the callback as errors. This is the standard behavior of most endpoints.
468
+ *
469
+ * @param {Function} callback The original callback given by the consumer
470
+ * @returns {?Function} A new callback that processes the response before passing it to the callback.
471
+ */
472
+ defaultResponseHandler(callback) {
473
+ var self = this;
474
+ if (!callback) {
475
+ return null;
476
+ }
477
+ return function (err, response /* FIXME */) {
478
+ // Error with Request
479
+ if (err) {
480
+ callback(err);
481
+ return;
482
+ }
483
+ // Successful Response
484
+ if (response.statusCode >= HTTP_STATUS_CODE_SUCCESS_BLOCK_RANGE[0] &&
485
+ response.statusCode <= HTTP_STATUS_CODE_SUCCESS_BLOCK_RANGE[1]) {
486
+ if (self._useIterators && PagingIterator.isIterable(response)) {
487
+ callback(null, new PagingIterator(response, self));
488
+ return;
489
+ }
490
+ callback(null, response.body);
491
+ return;
492
+ }
493
+ // Unexpected Response
494
+ callback(errors.buildUnexpectedResponseError(response));
495
+ };
496
+ }
497
+ /**
498
+ * Wrap a client method with the default handler for both callback and promise styles
499
+ * @param {Function} method The client method (e.g. client.get)
500
+ * @returns {Function} The wrapped method
501
+ */
502
+ wrapWithDefaultHandler(method) {
503
+ var self = this;
504
+ return function wrappedClientMethod( /* arguments */) {
505
+ // Check if the last argument is a callback
506
+ var lastArg = arguments[arguments.length - 1], callback;
507
+ if (typeof lastArg === 'function') {
508
+ callback = self.defaultResponseHandler(lastArg);
509
+ arguments[arguments.length - 1] = callback;
510
+ }
511
+ var ret = method.apply(self, arguments);
512
+ if (ret instanceof bluebird_1.Promise) {
513
+ ret = ret.then((response) => {
514
+ if (response.statusCode >= HTTP_STATUS_CODE_SUCCESS_BLOCK_RANGE[0] &&
515
+ response.statusCode <= HTTP_STATUS_CODE_SUCCESS_BLOCK_RANGE[1]) {
516
+ if (self._useIterators && PagingIterator.isIterable(response)) {
517
+ return new PagingIterator(response, self);
518
+ }
519
+ return response.body;
520
+ }
521
+ throw errors.buildUnexpectedResponseError(response);
522
+ });
523
+ }
524
+ if (callback) {
525
+ // If the callback will handle any errors, don't worry about the promise
526
+ ret.suppressUnhandledRejections();
527
+ }
528
+ return ret;
529
+ };
530
+ }
531
+ /**
532
+ * Add a SDK plugin. Warning: This will modify the box-client interface and can override existing properties.
533
+ * @param {string} name Plugin name. Will be accessible via client.<plugin-name>
534
+ * @param {Function} plugin The SDK plugin to add
535
+ * @param {Object} [options] Plugin-specific options
536
+ * @returns {void}
537
+ * @throws Will throw an error if plugin name matches an existing method on box-client
538
+ */
539
+ plug(name, plugin, options) {
540
+ options = options || {};
541
+ if (name in this && typeof this[name] === 'function') {
542
+ throw new Error('You cannot define a plugin that overrides an existing method on the client');
543
+ }
544
+ // Create plugin and export plugin onto client.
545
+ this[name] = plugin(this, options);
546
+ }
547
+ }
548
+ // ------------------------------------------------------------------------------
549
+ // Public
550
+ // ------------------------------------------------------------------------------
551
+ /**
552
+ * Enum of valid collaboration roles
553
+ *
554
+ * @readonly
555
+ * @enum {CollaborationRole}
556
+ */
557
+ BoxClient.prototype.collaborationRoles = {
558
+ EDITOR: 'editor',
559
+ VIEWER: 'viewer',
560
+ PREVIEWER: 'previewer',
561
+ UPLOADER: 'uploader',
562
+ PREVIEWER_UPLOADER: 'previewer uploader',
563
+ VIEWER_UPLOADER: 'viewer uploader',
564
+ CO_OWNER: 'co-owner',
565
+ OWNER: 'owner',
566
+ };
567
+ /**
568
+ * Enum of Box item types
569
+ *
570
+ * @readonly
571
+ * @enum {ItemType}
572
+ */
573
+ BoxClient.prototype.itemTypes = {
574
+ FILE: 'file',
575
+ FOLDER: 'folder',
576
+ };
577
+ /**
578
+ * Enum of valid values for setting different access levels. To be used when
579
+ * creating and editting shared links, upload emails, etc.
580
+ *
581
+ * @readonly
582
+ * @type {AccessLevel}
583
+ */
584
+ BoxClient.prototype.accessLevels = {
585
+ OPEN: { access: 'open' },
586
+ COLLABORATORS: { access: 'collaborators' },
587
+ COMPANY: { access: 'company' },
588
+ DEFAULT: {},
589
+ DISABLED: null,
590
+ };
591
+ /** @const {string} */
592
+ BoxClient.prototype.CURRENT_USER_ID = users_1.default.prototype.CURRENT_USER_ID;
593
+ module.exports = BoxClient;
594
+ //# sourceMappingURL=box-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-client.js","sourceRoot":"","sources":["../src/box-client.ts"],"names":[],"mappings":"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"}