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,230 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Manager for the Box User Resource
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ const url_path_1 = __importDefault(require("../util/url-path"));
9
+ // ------------------------------------------------------------------------------
10
+ // Private
11
+ // ------------------------------------------------------------------------------
12
+ const BASE_PATH = '/users', EMAIL_ALIASES_SUBRESOURCE = 'email_aliases', GROUP_MEMBERSHIPS_SUBRESOURCE = 'memberships', CURRENT_USER_ID = 'me';
13
+ // ------------------------------------------------------------------------------
14
+ // Public
15
+ // ------------------------------------------------------------------------------
16
+ /**
17
+ * Simple manager for interacting with all 'User' endpoints and actions.
18
+ *
19
+ * @constructor
20
+ * @param {BoxClient} client - The Box API Client that is responsible for making calls to the API
21
+ * @returns {void}
22
+ */
23
+ class Users {
24
+ constructor(client) {
25
+ this.client = client;
26
+ }
27
+ /**
28
+ * Requests information for the Box user info associated with a given ID
29
+ *
30
+ * API Endpoint: '/users/:id'
31
+ * Method: GET
32
+ *
33
+ * @param {string} userID - The ID of the user to retrieve
34
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
35
+ * @param {Function} [callback] - passed the user info if it was acquired successfully
36
+ * @returns {Promise<Object>} A promise resolving to the user object
37
+ */
38
+ get(userID, options, callback) {
39
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID), params = {
40
+ qs: options,
41
+ };
42
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, params, callback);
43
+ }
44
+ /**
45
+ * Update some information about a user.
46
+ *
47
+ * API Endpoint: '/users/:id'
48
+ * Method: PUT
49
+ *
50
+ * @param {string} userID - The ID of the user to update
51
+ * @param {Object} updates - User fields to update
52
+ * @param {Function} [callback] - Passed the updated user information if it was acquired successfully
53
+ * @returns {Promise<Object>} A promise resolving to the updated user object
54
+ */
55
+ update(userID, updates, callback) {
56
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID), params = {
57
+ body: updates,
58
+ };
59
+ return this.client.wrapWithDefaultHandler(this.client.put)(apiPath, params, callback);
60
+ }
61
+ /**
62
+ * Deletes a user in an enterprise account.
63
+ *
64
+ * API Endpoint: '/users/:userID'
65
+ * Method: DELETE
66
+ *
67
+ * @param {string} userID - The ID of the user to delete
68
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
69
+ * @param {boolean} [options.notify] - Determines if the destination user should receive email notification of the transfer.
70
+ * @param {boolean} [options.force] - Whether or not the user should be deleted even if this user still own files.
71
+ * @param {Function} [callback] - Empty response body passed if successful, error otherwise
72
+ * @returns {Promise<void>} A promise resolving to nothing
73
+ */
74
+ delete(userID, options, callback) {
75
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID), params = {
76
+ qs: options,
77
+ };
78
+ return this.client.wrapWithDefaultHandler(this.client.del)(apiPath, params, callback);
79
+ }
80
+ // @NOTE(mwiller) 2014-06-10: This does not include their primary email address!
81
+ /**
82
+ * Get all linked email addresses for a user.
83
+ *
84
+ * API Endpoint: '/users/:id/email_aliases'
85
+ * Method: GET
86
+ *
87
+ * @param {string} userID - The ID of the user to retrieve email alises for
88
+ * @param {Function} [callback] - Passed the email aliases if successful
89
+ * @returns {Promise<Object>} A promise resolving to the collection of email aliases
90
+ */
91
+ getEmailAliases(userID, callback) {
92
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, EMAIL_ALIASES_SUBRESOURCE);
93
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, null, callback);
94
+ }
95
+ /**
96
+ * Add a linked email address to a user's account.
97
+ *
98
+ * API Endpoint: '/users/:id/email_aliases'
99
+ * Method: POST
100
+ *
101
+ * @param {string} userID - The ID of the user to add an email alias to
102
+ * @param {string} email - The email address to add
103
+ * @param {Object} [options] - Optional parameters
104
+ * @param {boolean} [options.is_confirmed=false] Whether or not to attempt to auto-confirm the alias (for admins)
105
+ * @param {Function} [callback] - Passed the new alias if successful
106
+ * @returns {Promise<Object>} A promise resolving to the new email alias
107
+ */
108
+ addEmailAlias(userID, email, options, callback) {
109
+ options = options || {};
110
+ if (typeof options === 'function') {
111
+ callback = options;
112
+ options = {};
113
+ }
114
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, EMAIL_ALIASES_SUBRESOURCE), params = {
115
+ body: {
116
+ email,
117
+ is_confirmed: false, // don't attempt to autoconfirm aliases for admins by default
118
+ },
119
+ };
120
+ Object.assign(params.body, options);
121
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
122
+ }
123
+ /**
124
+ * Remove a linked email address from the current user by alias ID.
125
+ *
126
+ * API Endpoint: '/users/:id/email_aliases/:aliasID'
127
+ * Method: DELETE
128
+ *
129
+ * @param {string} userID - The ID of the user to remove the email alias from
130
+ * @param {string} aliasID - The ID of the linked email alias to remove
131
+ * @param {Function} [callback] - Passed nothing on success
132
+ * @returns {Promise<void>} A promise resolving to nothing
133
+ */
134
+ removeEmailAlias(userID, aliasID, callback) {
135
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, EMAIL_ALIASES_SUBRESOURCE, aliasID);
136
+ return this.client.wrapWithDefaultHandler(this.client.del)(apiPath, null, callback);
137
+ }
138
+ /**
139
+ * Retrieve a list of group memberships for the user, which show which groups
140
+ * the user belongs to. This ability is restricted to group admins.
141
+ *
142
+ * API Endpoint: '/users/:userID/memberships'
143
+ * Method: GET
144
+ *
145
+ * @param {string} userID - The ID of the user to get group memberships for
146
+ * @param {Object} [options] - Optional parameters, can be left null in most cases
147
+ * @param {int} [options.limit] - The number of memberships to retrieve
148
+ * @param {int} [options.offset] - Paging marker, retrieve records starting at this position in the list
149
+ * @param {Function} [callback] - Passed a list of memberships if successful, error otherwise
150
+ * @returns {Promise<Object>} A promise resolving to the collection of group memberships
151
+ */
152
+ getGroupMemberships(userID, options, callback) {
153
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, GROUP_MEMBERSHIPS_SUBRESOURCE), params = {
154
+ qs: options,
155
+ };
156
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, params, callback);
157
+ }
158
+ /**
159
+ * Retrieve the user's avatar image.
160
+ *
161
+ * API Endpoint: '/users/:userID/avatar'
162
+ * Method: GET
163
+ *
164
+ * @param {string} userID The ID of the user whose avatar should be retrieved
165
+ * @param {Function} [callback] Passed a stream over the bytes of the avatar image if successful
166
+ * @returns {Promise<Readable>} A promise resolving to the image stream
167
+ */
168
+ getAvatar(userID, callback) {
169
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, 'avatar'), params = {
170
+ streaming: true,
171
+ };
172
+ return this.client.get(apiPath, params).asCallback(callback);
173
+ }
174
+ /**
175
+ * Set the user's avatar image.
176
+ *
177
+ * API Endpoint: '/users/:userID/avatar'
178
+ * Method: POST
179
+ *
180
+ * @param {string} userID The ID of the user whose avatar should be set
181
+ * @param {string|Buffer|ReadStream} avatar - the content of the file. It can be a string, a Buffer, or a read stream
182
+ * (like that returned by fs.createReadStream()).
183
+ * @param {Function} [callback] Passed dictionary of picture urls if successful
184
+ * @returns {Promise<Object>} A promise resolving to the picture urls
185
+ */
186
+ setAvatar(userID, avatar, callback) {
187
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, 'avatar'), params = {
188
+ formData: {
189
+ pic: avatar,
190
+ },
191
+ };
192
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
193
+ }
194
+ /**
195
+ * Delete the user's avatar image.
196
+ *
197
+ * API Endpoint: '/users/:userID/avatar'
198
+ * Method: DELETE
199
+ *
200
+ * @param {string} userID The ID of the user whose avatar should be deleted
201
+ * @param {Function} [callback] Passed nothing if successful
202
+ * @returns {Promise<void>} A promise resolving to nothing
203
+ */
204
+ deleteAvatar(userID, callback) {
205
+ var apiPath = (0, url_path_1.default)(BASE_PATH, userID, 'avatar'), params = {};
206
+ return this.client.wrapWithDefaultHandler(this.client.del)(apiPath, params, callback);
207
+ }
208
+ /**
209
+ * Validates the roles and permissions of the user,
210
+ * and creates asynchronous jobs to terminate the user's sessions.
211
+ *
212
+ * API Endpoint: '/users/terminate_sessions'
213
+ * Method: POST
214
+ *
215
+ * @param {Object} options - The user IDs or logins to terminate sessions
216
+ * @param {string[]} [options.userIDs] - The user IDs to terminate sessions
217
+ * @param {string[]} [options.userLogins] - The user logins to terminate sessions
218
+ * @returns {Promise<Object>} A promise resolving a message about the request status.
219
+ */
220
+ terminateSession(options, callback) {
221
+ var apiPath = (0, url_path_1.default)(BASE_PATH, 'terminate_sessions'), params = {
222
+ body: options,
223
+ };
224
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
225
+ }
226
+ }
227
+ /** @const {string} */
228
+ Users.prototype.CURRENT_USER_ID = CURRENT_USER_ID;
229
+ module.exports = Users;
230
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/managers/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * @fileoverview Manager for the Web Links Resource
3
+ */
4
+ import BoxClient from '../box-client';
5
+ /**
6
+ * Simple manager for interacting with all 'Weblinks' endpoints and actions.
7
+ *
8
+ * @constructor
9
+ * @param {BoxClient} client - The Box API Client that is responsible for making calls to the API
10
+ * @returns {void}
11
+ */
12
+ declare class WebLinks {
13
+ client: BoxClient;
14
+ constructor(client: BoxClient);
15
+ /**
16
+ * Creates a web link object within a given folder.
17
+ *
18
+ * API Endpoint: '/web_links'
19
+ * Method: POST
20
+ *
21
+ * @param {string} url - URL you want the web link to point to. Must include http:// or https://
22
+ * @param {string} parentID - The ID of the parent folder where you're creating the web link
23
+ * @param {Object} [options] - Additional parameters
24
+ * @param {string} [options.name] - Name for the web link. Will default to the URL if empty.
25
+ * @param {string} [options.description] - Description of the web link. Will provide more context to users about the web link.
26
+ * @param {Function} [callback] - Passed the new web link information if it was acquired successfully, error otherwise
27
+ * @returns {Promise<Object>} A promise resolving to the created weblink object
28
+ */
29
+ create(url: string, parentID: string, options?: {
30
+ name?: string;
31
+ description?: string;
32
+ }, callback?: Function): any;
33
+ /**
34
+ * Use to get information about the web link.
35
+ *
36
+ * API Endpoint: '/web_links/:weblinkID'
37
+ * Method: GET
38
+ *
39
+ * @param {string} weblinkID - The Box ID of web link being requested
40
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
41
+ * @param {Function} [callback] - Passed the web-link information if it was acquired successfully, error otherwise
42
+ * @returns {Promise<Object>} A promise resolving to the weblink object
43
+ */
44
+ get(weblinkID: string, options?: Record<string, any>, callback?: Function): any;
45
+ /**
46
+ * Updates information for a web link.
47
+ *
48
+ * API Endpoint: '/web_links/:weblinkID'
49
+ * Method: PUT
50
+ *
51
+ * @param {string} weblinkID - The Box ID of the web link being updated
52
+ * @param {Object} updates - Fields of the weblink to update
53
+ * @param {string} [updates.name] - Name for the web link. Will default to the URL if empty.
54
+ * @param {string} [updates.description] - Description of the web link. Will provide more context to users about the web link.
55
+ * @param {Function} [callback] - Passed the updated web link information if it was acquired successfully, error otherwise
56
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
57
+ */
58
+ update(weblinkID: string, updates?: {
59
+ name?: string;
60
+ description?: string;
61
+ collections?: string[];
62
+ }, callback?: Function): any;
63
+ /**
64
+ * Deletes a web link and moves it to the trash
65
+ *
66
+ * API Endpoint: '/web_links/:weblinkID'
67
+ * Method: DELETE
68
+ *
69
+ * @param {string} weblinkID - The Box ID of the web link being moved to the trash
70
+ * @param {Function} [callback] - Empty body passed if successful, error otherwise
71
+ * @returns {Promise<Object>} A promise resolving to nothing
72
+ */
73
+ delete(weblinkID: string, callback?: Function): any;
74
+ /**
75
+ * Move a web link into a new parent folder.
76
+ *
77
+ * API Endpoint: '/web_links/:webLinkID'
78
+ * Method: PUT
79
+ *
80
+ * @param {string} webLinkID - The Box ID of the web link being requested
81
+ * @param {string} newParentID - The Box ID for the new parent folder. '0' to move to All Files.
82
+ * @param {Function} [callback] - Passed the updated web link information if it was acquired successfully
83
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
84
+ */
85
+ move(webLinkID: string, newParentID: string, callback?: Function): any;
86
+ /**
87
+ * Copy a web link into a new, different folder
88
+ *
89
+ * API Endpoint: '/web_links/:webLinkID/copy
90
+ * Method: POST
91
+ *
92
+ * @param {string} webLinkID - The Box ID of the web link being requested
93
+ * @param {string} newParentID - The Box ID for the new parent folder. '0' to copy to All Files.
94
+ * @param {Object} [options] - Optional parameters for the copy operation, can be left null in most cases
95
+ * @param {string} [options.name] - A new name to use if there is an identically-named item in the new parent folder
96
+ * @param {Function} [callback] - passed the new web link info if call was successful
97
+ * @returns {Promise<Object>} A promise resolving to the new web link object
98
+ */
99
+ copy(webLinkID: string, newParentID: string, options?: {
100
+ name?: string;
101
+ }, callback?: Function): any;
102
+ /**
103
+ * Add a web link to a given collection
104
+ *
105
+ * API Endpoint: '/web_links/:webLinkID'
106
+ * Method: PUT
107
+ *
108
+ * @param {string} webLinkID - The web link to add to the collection
109
+ * @param {string} collectionID - The collection to add the web link to
110
+ * @param {Function} [callback] - Passed the updated web link if successful, error otherwise
111
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
112
+ */
113
+ addToCollection(webLinkID: string, collectionID: string, callback?: Function): any;
114
+ /**
115
+ * Remove a web link from a given collection
116
+ *
117
+ * API Endpoint: '/web_links/:webLinkID'
118
+ * Method: PUT
119
+ *
120
+ * @param {string} webLinkID - The web link to remove from the collection
121
+ * @param {string} collectionID - The collection to remove the web link from
122
+ * @param {Function} [callback] - Passed the updated web link if successful, error otherwise
123
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
124
+ */
125
+ removeFromCollection(webLinkID: string, collectionID: string, callback?: Function): any;
126
+ }
127
+ export = WebLinks;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Manager for the Web Links Resource
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ const url_path_1 = __importDefault(require("../util/url-path"));
9
+ // ------------------------------------------------------------------------------
10
+ // Private
11
+ // ------------------------------------------------------------------------------
12
+ const BASE_PATH = '/web_links';
13
+ // ------------------------------------------------------------------------------
14
+ // Public
15
+ // ------------------------------------------------------------------------------
16
+ /**
17
+ * Simple manager for interacting with all 'Weblinks' endpoints and actions.
18
+ *
19
+ * @constructor
20
+ * @param {BoxClient} client - The Box API Client that is responsible for making calls to the API
21
+ * @returns {void}
22
+ */
23
+ class WebLinks {
24
+ constructor(client) {
25
+ this.client = client;
26
+ }
27
+ /**
28
+ * Creates a web link object within a given folder.
29
+ *
30
+ * API Endpoint: '/web_links'
31
+ * Method: POST
32
+ *
33
+ * @param {string} url - URL you want the web link to point to. Must include http:// or https://
34
+ * @param {string} parentID - The ID of the parent folder where you're creating the web link
35
+ * @param {Object} [options] - Additional parameters
36
+ * @param {string} [options.name] - Name for the web link. Will default to the URL if empty.
37
+ * @param {string} [options.description] - Description of the web link. Will provide more context to users about the web link.
38
+ * @param {Function} [callback] - Passed the new web link information if it was acquired successfully, error otherwise
39
+ * @returns {Promise<Object>} A promise resolving to the created weblink object
40
+ */
41
+ create(url, parentID, options, callback) {
42
+ var apiPath = (0, url_path_1.default)(BASE_PATH), params = {
43
+ body: {
44
+ url,
45
+ parent: {
46
+ id: parentID,
47
+ },
48
+ },
49
+ };
50
+ Object.assign(params.body, options);
51
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
52
+ }
53
+ /**
54
+ * Use to get information about the web link.
55
+ *
56
+ * API Endpoint: '/web_links/:weblinkID'
57
+ * Method: GET
58
+ *
59
+ * @param {string} weblinkID - The Box ID of web link being requested
60
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
61
+ * @param {Function} [callback] - Passed the web-link information if it was acquired successfully, error otherwise
62
+ * @returns {Promise<Object>} A promise resolving to the weblink object
63
+ */
64
+ get(weblinkID, options, callback) {
65
+ var apiPath = (0, url_path_1.default)(BASE_PATH, weblinkID), params = {
66
+ qs: options,
67
+ };
68
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, params, callback);
69
+ }
70
+ /**
71
+ * Updates information for a web link.
72
+ *
73
+ * API Endpoint: '/web_links/:weblinkID'
74
+ * Method: PUT
75
+ *
76
+ * @param {string} weblinkID - The Box ID of the web link being updated
77
+ * @param {Object} updates - Fields of the weblink to update
78
+ * @param {string} [updates.name] - Name for the web link. Will default to the URL if empty.
79
+ * @param {string} [updates.description] - Description of the web link. Will provide more context to users about the web link.
80
+ * @param {Function} [callback] - Passed the updated web link information if it was acquired successfully, error otherwise
81
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
82
+ */
83
+ update(weblinkID, updates, callback) {
84
+ var apiPath = (0, url_path_1.default)(BASE_PATH, weblinkID), params = {
85
+ body: updates,
86
+ };
87
+ return this.client.wrapWithDefaultHandler(this.client.put)(apiPath, params, callback);
88
+ }
89
+ /**
90
+ * Deletes a web link and moves it to the trash
91
+ *
92
+ * API Endpoint: '/web_links/:weblinkID'
93
+ * Method: DELETE
94
+ *
95
+ * @param {string} weblinkID - The Box ID of the web link being moved to the trash
96
+ * @param {Function} [callback] - Empty body passed if successful, error otherwise
97
+ * @returns {Promise<Object>} A promise resolving to nothing
98
+ */
99
+ delete(weblinkID, callback) {
100
+ var apiPath = (0, url_path_1.default)(BASE_PATH, weblinkID);
101
+ return this.client.wrapWithDefaultHandler(this.client.del)(apiPath, null, callback);
102
+ }
103
+ /**
104
+ * Move a web link into a new parent folder.
105
+ *
106
+ * API Endpoint: '/web_links/:webLinkID'
107
+ * Method: PUT
108
+ *
109
+ * @param {string} webLinkID - The Box ID of the web link being requested
110
+ * @param {string} newParentID - The Box ID for the new parent folder. '0' to move to All Files.
111
+ * @param {Function} [callback] - Passed the updated web link information if it was acquired successfully
112
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
113
+ */
114
+ move(webLinkID, newParentID, callback) {
115
+ var params = {
116
+ body: {
117
+ parent: {
118
+ id: newParentID,
119
+ },
120
+ },
121
+ };
122
+ var apiPath = (0, url_path_1.default)(BASE_PATH, webLinkID);
123
+ return this.client.wrapWithDefaultHandler(this.client.put)(apiPath, params, callback);
124
+ }
125
+ /**
126
+ * Copy a web link into a new, different folder
127
+ *
128
+ * API Endpoint: '/web_links/:webLinkID/copy
129
+ * Method: POST
130
+ *
131
+ * @param {string} webLinkID - The Box ID of the web link being requested
132
+ * @param {string} newParentID - The Box ID for the new parent folder. '0' to copy to All Files.
133
+ * @param {Object} [options] - Optional parameters for the copy operation, can be left null in most cases
134
+ * @param {string} [options.name] - A new name to use if there is an identically-named item in the new parent folder
135
+ * @param {Function} [callback] - passed the new web link info if call was successful
136
+ * @returns {Promise<Object>} A promise resolving to the new web link object
137
+ */
138
+ copy(webLinkID, newParentID, options, callback) {
139
+ options = options || {};
140
+ options.parent = {
141
+ id: newParentID,
142
+ };
143
+ var params = {
144
+ body: options,
145
+ };
146
+ var apiPath = (0, url_path_1.default)(BASE_PATH, webLinkID, '/copy');
147
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
148
+ }
149
+ /**
150
+ * Add a web link to a given collection
151
+ *
152
+ * API Endpoint: '/web_links/:webLinkID'
153
+ * Method: PUT
154
+ *
155
+ * @param {string} webLinkID - The web link to add to the collection
156
+ * @param {string} collectionID - The collection to add the web link to
157
+ * @param {Function} [callback] - Passed the updated web link if successful, error otherwise
158
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
159
+ */
160
+ addToCollection(webLinkID, collectionID, callback) {
161
+ return this.get(webLinkID, { fields: 'collections' })
162
+ .then((data /* FIXME */) => {
163
+ var collections = data.collections || [];
164
+ // Convert to correct format
165
+ collections = collections.map((c /* FIXME */) => ({
166
+ id: c.id,
167
+ }));
168
+ if (!collections.find((c /* FIXME */) => c.id === collectionID)) {
169
+ collections.push({ id: collectionID });
170
+ }
171
+ return this.update(webLinkID, { collections });
172
+ })
173
+ .asCallback(callback);
174
+ }
175
+ /**
176
+ * Remove a web link from a given collection
177
+ *
178
+ * API Endpoint: '/web_links/:webLinkID'
179
+ * Method: PUT
180
+ *
181
+ * @param {string} webLinkID - The web link to remove from the collection
182
+ * @param {string} collectionID - The collection to remove the web link from
183
+ * @param {Function} [callback] - Passed the updated web link if successful, error otherwise
184
+ * @returns {Promise<Object>} A promise resolving to the updated web link object
185
+ */
186
+ removeFromCollection(webLinkID, collectionID, callback) {
187
+ return this.get(webLinkID, { fields: 'collections' })
188
+ .then((data /* FIXME */) => {
189
+ var collections = data.collections || [];
190
+ // Convert to correct object format and remove the specified collection
191
+ collections = collections
192
+ .map((c /* FIXME */) => ({ id: c.id }))
193
+ .filter((c /* FIXME */) => c.id !== collectionID);
194
+ return this.update(webLinkID, { collections });
195
+ })
196
+ .asCallback(callback);
197
+ }
198
+ }
199
+ module.exports = WebLinks;
200
+ //# sourceMappingURL=web-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-links.js","sourceRoot":"","sources":["../../src/managers/web-links.ts"],"names":[],"mappings":"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"}