@ecmaos/kernel 0.9.0 → 0.9.3

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 (191) hide show
  1. package/dist/.vite/manifest.json +10 -19
  2. package/dist/{index-CxwR4Omn.js → index-BpihY4nP.js} +2 -2
  3. package/dist/{index-CxwR4Omn.js.map → index-BpihY4nP.js.map} +1 -1
  4. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/assets/dmt/dmt-component-data.js +1 -1
  5. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/assets/dmt/dmt-search.cmp +0 -0
  6. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_auth.Auth.html +2 -2
  7. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Component.html +2 -2
  8. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_components.Components.html +2 -2
  9. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_dom.Dom.html +2 -2
  10. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_events.Events.html +8 -8
  11. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_fdtable.FDTable.html +14 -14
  12. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_filesystem.Filesystem.html +13 -11
  13. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_i18n.I18n.html +2 -2
  14. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_intervals.Intervals.html +2 -2
  15. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_kernel.Kernel.html +61 -61
  16. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_lib_commands.TerminalCommand.html +4 -4
  17. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_log.Log.html +3 -3
  18. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_memory.Memory.html +2 -2
  19. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.Process.html +33 -33
  20. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_processes.ProcessManager.html +2 -2
  21. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_protocol.Protocol.html +2 -2
  22. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_service.Service.html +10 -10
  23. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_shell.Shell.html +16 -16
  24. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_sockets.Sockets.html +7 -7
  25. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_storage.Storage.html +8 -8
  26. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_telemetry.Telemetry.html +2 -2
  27. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Spinner.html +2 -2
  28. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_terminal.Terminal.html +32 -32
  29. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_users.Users.html +13 -13
  30. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_wasm.Wasm.html +4 -4
  31. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_windows.Windows.html +8 -8
  32. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/classes/kernel_src_tree_workers.Workers.html +4 -4
  33. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/kernel_src_tree_terminal.CommandPath.html +2 -2
  34. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelEvents.html +2 -2
  35. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_kernel.KernelState.html +2 -2
  36. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_processes.ProcessEvents.html +2 -2
  37. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/enums/types_terminal.TerminalEvents.html +2 -2
  38. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.TerminalCommands.html +1 -1
  39. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.chown.html +1 -1
  40. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.clear.html +1 -1
  41. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.df.html +1 -1
  42. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.download.html +1 -1
  43. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.load.html +1 -1
  44. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.passwd.html +1 -1
  45. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.ps.html +1 -1
  46. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.reboot.html +1 -1
  47. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.screensaver.html +1 -1
  48. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.snake.html +1 -1
  49. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.su.html +1 -1
  50. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands.upload.html +1 -1
  51. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_install.default.html +1 -1
  52. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_commands_uninstall.default.html +1 -1
  53. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabFile.html +1 -1
  54. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_crontab.parseCrontabLine.html +1 -1
  55. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabFile.html +1 -1
  56. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_fstab.parseFstabLine.html +1 -1
  57. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.default.html +1 -1
  58. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_blank.exit.html +1 -1
  59. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.default.html +1 -1
  60. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/functions/kernel_src_tree_lib_screensavers_matrix.exit.html +1 -1
  61. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_commands.CommandArgs.html +2 -2
  62. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/kernel_src_tree_lib_crontab.CrontabEntry.html +2 -2
  63. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_auth.Auth.html +2 -2
  64. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_components.Components.html +2 -2
  65. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDevice.html +4 -4
  66. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceCLIOptions.html +6 -6
  67. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_device.KernelDeviceData.html +1 -1
  68. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.Dom.html +4 -4
  69. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_dom.DomOptions.html +2 -2
  70. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_events.Events.html +8 -8
  71. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FileHeader.html +4 -4
  72. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.Filesystem.html +11 -9
  73. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FilesystemDescriptions.html +2 -2
  74. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_filesystem.FstabEntry.html +5 -5
  75. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18n.html +4 -4
  76. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_i18n.I18nOptions.html +7 -7
  77. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.ITimerHandle.html +2 -2
  78. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_intervals.Intervals.html +8 -8
  79. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.BootOptions.html +2 -2
  80. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.Kernel.html +46 -46
  81. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteEvent.html +2 -2
  82. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelExecuteOptions.html +2 -2
  83. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelOptions.html +2 -2
  84. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelPanicEvent.html +2 -2
  85. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelShutdownEvent.html +2 -2
  86. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_kernel.KernelUploadEvent.html +2 -2
  87. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_keyboard.Keyboard.html +2 -2
  88. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.Log.html +10 -10
  89. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_log.LogOptions.html +4 -4
  90. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_memory.Memory.html +16 -16
  91. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_modules.KernelModule.html +2 -2
  92. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FDTable.html +13 -13
  93. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.FileHandle.html +8 -8
  94. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.Process.html +31 -31
  95. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessEntryParams.html +16 -16
  96. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessExitEvent.html +2 -2
  97. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessManager.html +8 -8
  98. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessOptions.html +18 -18
  99. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessPauseEvent.html +2 -2
  100. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessResumeEvent.html +2 -2
  101. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStartEvent.html +2 -2
  102. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_processes.ProcessStopEvent.html +2 -2
  103. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.Protocol.html +3 -3
  104. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_protocol.ProtocolOptions.html +3 -3
  105. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.Service.html +9 -9
  106. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_service.ServiceOptions.html +4 -4
  107. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.Shell.html +13 -13
  108. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_shell.ShellOptions.html +7 -7
  109. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.Sockets.html +7 -7
  110. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.SocketsOptions.html +2 -2
  111. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebSocketConnection.html +8 -8
  112. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_sockets.WebTransportConnection.html +8 -8
  113. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageOptions.html +3 -3
  114. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_storage.StorageProvider.html +7 -7
  115. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.Telemetry.html +3 -3
  116. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_telemetry.TelemetryOptions.html +2 -2
  117. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.Terminal.html +30 -30
  118. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalAttachEvent.html +2 -2
  119. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCommand.html +4 -4
  120. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalCreatedEvent.html +2 -2
  121. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalExecuteEvent.html +2 -2
  122. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInputEvent.html +2 -2
  123. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalInterruptEvent.html +2 -2
  124. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalKeyEvent.html +2 -2
  125. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalListenEvent.html +2 -2
  126. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMessageEvent.html +2 -2
  127. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalMountEvent.html +2 -2
  128. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalOptions.html +6 -6
  129. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalPasteEvent.html +2 -2
  130. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalResizeEvent.html +2 -2
  131. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalUnlistenEvent.html +2 -2
  132. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWriteEvent.html +2 -2
  133. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_terminal.TerminalWritelnEvent.html +2 -2
  134. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.AddUserOptions.html +4 -4
  135. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Passkey.html +7 -7
  136. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.User.html +9 -9
  137. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.Users.html +14 -14
  138. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_users.UsersOptions.html +2 -2
  139. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.Wasm.html +3 -3
  140. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_wasm.WasmOptions.html +2 -2
  141. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.WindowOptions.html +2 -2
  142. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_windows.Windows.html +7 -7
  143. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/interfaces/types_workers.Workers.html +3 -3
  144. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/media/package.json +2 -2
  145. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/media/turbo.json +2 -0
  146. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/modules/kernel_src_tree_lib_commands.html +1 -1
  147. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/kernel_src_tree_fdtable.ZenFSFileHandle.html +1 -1
  148. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_auth.PasswordCredentialInit.html +1 -1
  149. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_components.ComponentListener.html +1 -1
  150. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_events.EventCallback.html +1 -1
  151. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemConfigMounts.html +1 -1
  152. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.FilesystemOptions.html +1 -1
  153. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Fstab.html +1 -1
  154. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_filesystem.Path.html +1 -1
  155. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.CronMap.html +1 -1
  156. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_intervals.IntervalMap.html +1 -1
  157. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Address.html +1 -1
  158. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Collection.html +1 -1
  159. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Config.html +1 -1
  160. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Heap.html +1 -1
  161. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.Stack.html +1 -1
  162. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_memory.StackFrame.html +1 -1
  163. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_modules.KernelModules.html +1 -1
  164. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessStatus.html +1 -1
  165. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_processes.ProcessesMap.html +1 -1
  166. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.SocketConnection.html +1 -1
  167. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebSocketState.html +1 -1
  168. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_sockets.WebTransportState.html +1 -1
  169. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.GID.html +1 -1
  170. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_users.UID.html +1 -1
  171. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/types/types_windows.WindowId.html +1 -1
  172. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_device.DefaultDevices.html +1 -1
  173. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_dom.DefaultDomOptions.html +1 -1
  174. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_filesystem.DefaultFilesystemOptions.html +1 -1
  175. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_i18n.DefaultI18nOptions.html +1 -1
  176. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_log.DefaultLogOptions.html +1 -1
  177. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_service.DefaultServiceOptions.html +1 -1
  178. package/dist/initfs/usr/share/docs/@ecmaos/kernel/docs/variables/kernel_src_tree_terminal.DefaultTerminalOptions.html +1 -1
  179. package/dist/initfs.tar.gz +0 -0
  180. package/dist/{install-v7WLn3NU.js → install-BC_V5fcu.js} +2 -2
  181. package/dist/{install-v7WLn3NU.js.map → install-BC_V5fcu.js.map} +1 -1
  182. package/dist/{kernel-j5HiQNwE.js → kernel-C_OWCzCU.js} +18123 -9689
  183. package/dist/{kernel-j5HiQNwE.js.map → kernel-C_OWCzCU.js.map} +1 -1
  184. package/dist/kernel.css +71 -4
  185. package/dist/kernel.js +1 -1
  186. package/dist/ui.js +1 -1
  187. package/dist/{uninstall-DdFQZCNc.js → uninstall-CTp8v-SH.js} +2 -2
  188. package/dist/{uninstall-DdFQZCNc.js.map → uninstall-CTp8v-SH.js.map} +1 -1
  189. package/package.json +12 -11
  190. package/dist/topbar.min-BKs7fUL5.js +0 -50
  191. package/dist/topbar.min-BKs7fUL5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-CxwR4Omn.js","sources":["../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/constants.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/lib/routes.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/utils.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/error.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/response.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/auth.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/dropbox.js"],"sourcesContent":["export var RPC = 'rpc';\nexport var UPLOAD = 'upload';\nexport var DOWNLOAD = 'download';\nexport var APP_AUTH = 'app';\nexport var USER_AUTH = 'user';\nexport var TEAM_AUTH = 'team';\nexport var NO_AUTH = 'noauth';\nexport var COOKIE = 'cookie';\nexport var DEFAULT_API_DOMAIN = 'dropboxapi.com';\nexport var DEFAULT_DOMAIN = 'dropbox.com';\nexport var TEST_DOMAIN_MAPPINGS = {\n api: 'api',\n notify: 'bolt',\n content: 'api-content'\n};","// Auto-generated by Stone, do not modify.\nvar routes = {};\n/**\n * Sets a user's profile photo.\n * Route attributes:\n * scope: account_info.write\n * @function Dropbox#accountSetProfilePhoto\n * @arg {AccountSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AccountSetProfilePhotoResult>, DropboxResponseError.<AccountSetProfilePhotoError>>}\n */\n\nroutes.accountSetProfilePhoto = function (arg) {\n return this.request('account/set_profile_photo', arg, 'user', 'api', 'rpc', 'account_info.write');\n};\n/**\n * Creates an OAuth 2.0 access token from the supplied OAuth 1.0 access token.\n * @function Dropbox#authTokenFromOauth1\n * @arg {AuthTokenFromOAuth1Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AuthTokenFromOAuth1Result>, DropboxResponseError.<AuthTokenFromOAuth1Error>>}\n */\n\n\nroutes.authTokenFromOauth1 = function (arg) {\n return this.request('auth/token/from_oauth1', arg, 'app', 'api', 'rpc', null);\n};\n/**\n * Disables the access token used to authenticate the call. If there is a\n * corresponding refresh token for the access token, this disables that refresh\n * token, as well as any other access tokens for that refresh token.\n * @function Dropbox#authTokenRevoke\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<void>>}\n */\n\n\nroutes.authTokenRevoke = function () {\n return this.request('auth/token/revoke', null, 'user', 'api', 'rpc', null);\n};\n/**\n * This endpoint performs App Authentication, validating the supplied app key\n * and secret, and returns the supplied string, to allow you to test your code\n * and connection to the Dropbox API. It has no other effect. If you receive an\n * HTTP 200 response with the supplied query, it indicates at least part of the\n * Dropbox API infrastructure is working and that the app key and secret valid.\n * @function Dropbox#checkApp\n * @arg {CheckEchoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<CheckEchoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.checkApp = function (arg) {\n return this.request('check/app', arg, 'app', 'api', 'rpc', null);\n};\n/**\n * This endpoint performs User Authentication, validating the supplied access\n * token, and returns the supplied string, to allow you to test your code and\n * connection to the Dropbox API. It has no other effect. If you receive an HTTP\n * 200 response with the supplied query, it indicates at least part of the\n * Dropbox API infrastructure is working and that the access token is valid.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#checkUser\n * @arg {CheckEchoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<CheckEchoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.checkUser = function (arg) {\n return this.request('check/user', arg, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Removes all manually added contacts. You'll still keep contacts who are on\n * your team or who you imported. New contacts will be added when you share.\n * Route attributes:\n * scope: contacts.write\n * @function Dropbox#contactsDeleteManualContacts\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<void>>}\n */\n\n\nroutes.contactsDeleteManualContacts = function () {\n return this.request('contacts/delete_manual_contacts', null, 'user', 'api', 'rpc', 'contacts.write');\n};\n/**\n * Removes manually added contacts from the given list.\n * Route attributes:\n * scope: contacts.write\n * @function Dropbox#contactsDeleteManualContactsBatch\n * @arg {ContactsDeleteManualContactsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<ContactsDeleteManualContactsError>>}\n */\n\n\nroutes.contactsDeleteManualContactsBatch = function (arg) {\n return this.request('contacts/delete_manual_contacts_batch', arg, 'user', 'api', 'rpc', 'contacts.write');\n};\n/**\n * Add property groups to a Dropbox file. See templates/add_for_user or\n * templates/add_for_team to create new templates.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesAdd\n * @arg {FilePropertiesAddPropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesAddPropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesAdd = function (arg) {\n return this.request('file_properties/properties/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Overwrite property groups associated with a file. This endpoint should be\n * used instead of properties/update when property groups are being updated via\n * a \"snapshot\" instead of via a \"delta\". In other words, this endpoint will\n * delete all omitted fields from a property group, whereas properties/update\n * will only delete fields that are explicitly marked for deletion.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesOverwrite\n * @arg {FilePropertiesOverwritePropertyGroupArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesInvalidPropertyGroupError>>}\n */\n\n\nroutes.filePropertiesPropertiesOverwrite = function (arg) {\n return this.request('file_properties/properties/overwrite', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Permanently removes the specified property group from the file. To remove\n * specific property field key value pairs, see properties/update. To update a\n * template, see templates/update_for_user or templates/update_for_team. To\n * remove a template, see templates/remove_for_user or\n * templates/remove_for_team.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesRemove\n * @arg {FilePropertiesRemovePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesRemovePropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesRemove = function (arg) {\n return this.request('file_properties/properties/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Search across property templates for particular property field values.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesPropertiesSearch\n * @arg {FilePropertiesPropertiesSearchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesPropertiesSearchResult>, DropboxResponseError.<FilePropertiesPropertiesSearchError>>}\n */\n\n\nroutes.filePropertiesPropertiesSearch = function (arg) {\n return this.request('file_properties/properties/search', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from properties/search, use this to paginate\n * through all search results.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesPropertiesSearchContinue\n * @arg {FilePropertiesPropertiesSearchContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesPropertiesSearchResult>, DropboxResponseError.<FilePropertiesPropertiesSearchContinueError>>}\n */\n\n\nroutes.filePropertiesPropertiesSearchContinue = function (arg) {\n return this.request('file_properties/properties/search/continue', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Add, update or remove properties associated with the supplied file and\n * templates. This endpoint should be used instead of properties/overwrite when\n * property groups are being updated via a \"delta\" instead of via a \"snapshot\" .\n * In other words, this endpoint will not delete any omitted fields from a\n * property group, whereas properties/overwrite will delete any fields that are\n * omitted from a property group.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesUpdate\n * @arg {FilePropertiesUpdatePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesUpdatePropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesUpdate = function (arg) {\n return this.request('file_properties/properties/update', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Add a template associated with a team. See properties/add to add properties\n * to a file or folder. Note: this endpoint will create team-owned templates.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesAddForTeam\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesAddForTeam = function (arg) {\n return this.request('file_properties/templates/add_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Add a template associated with a user. See properties/add to add properties\n * to a file. This endpoint can't be called on a team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesAddForUser\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesAddForUser = function (arg) {\n return this.request('file_properties/templates/add_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Get the schema for a specified template.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesGetForTeam\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesGetForTeam = function (arg) {\n return this.request('file_properties/templates/get_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Get the schema for a specified template. This endpoint can't be called on a\n * team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesTemplatesGetForUser\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesGetForUser = function (arg) {\n return this.request('file_properties/templates/get_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Get the template identifiers for a team. To get the schema of each template\n * use templates/get_for_team.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesListForTeam\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesListForTeam = function () {\n return this.request('file_properties/templates/list_for_team', null, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Get the template identifiers for a team. To get the schema of each template\n * use templates/get_for_user. This endpoint can't be called on a team member or\n * admin's behalf.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesTemplatesListForUser\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesListForUser = function () {\n return this.request('file_properties/templates/list_for_user', null, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Permanently removes the specified template created from\n * templates/add_for_user. All properties associated with the template will also\n * be removed. This action cannot be undone.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesRemoveForTeam\n * @arg {FilePropertiesRemoveTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesRemoveForTeam = function (arg) {\n return this.request('file_properties/templates/remove_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permanently removes the specified template created from\n * templates/add_for_user. All properties associated with the template will also\n * be removed. This action cannot be undone.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesRemoveForUser\n * @arg {FilePropertiesRemoveTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesRemoveForUser = function (arg) {\n return this.request('file_properties/templates/remove_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Update a template associated with a team. This route can update the template\n * name, the template description and add optional properties to templates.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesUpdateForTeam\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesUpdateForTeam = function (arg) {\n return this.request('file_properties/templates/update_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Update a template associated with a user. This route can update the template\n * name, the template description and add optional properties to templates. This\n * endpoint can't be called on a team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesUpdateForUser\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesUpdateForUser = function (arg) {\n return this.request('file_properties/templates/update_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Returns the total number of file requests owned by this user. Includes both\n * open and closed file requests.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsCount\n * @returns {Promise.<DropboxResponse<FileRequestsCountFileRequestsResult>, DropboxResponseError.<FileRequestsCountFileRequestsError>>}\n */\n\n\nroutes.fileRequestsCount = function () {\n return this.request('file_requests/count', null, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Creates a file request for this user.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsCreate\n * @arg {FileRequestsCreateFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsCreateFileRequestError>>}\n */\n\n\nroutes.fileRequestsCreate = function (arg) {\n return this.request('file_requests/create', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Delete a batch of closed file requests.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsDelete\n * @arg {FileRequestsDeleteFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsDeleteFileRequestsResult>, DropboxResponseError.<FileRequestsDeleteFileRequestError>>}\n */\n\n\nroutes.fileRequestsDelete = function (arg) {\n return this.request('file_requests/delete', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Delete all closed file requests owned by this user.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsDeleteAllClosed\n * @returns {Promise.<DropboxResponse<FileRequestsDeleteAllClosedFileRequestsResult>, DropboxResponseError.<FileRequestsDeleteAllClosedFileRequestsError>>}\n */\n\n\nroutes.fileRequestsDeleteAllClosed = function () {\n return this.request('file_requests/delete_all_closed', null, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Returns the specified file request.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsGet\n * @arg {FileRequestsGetFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsGetFileRequestError>>}\n */\n\n\nroutes.fileRequestsGet = function (arg) {\n return this.request('file_requests/get', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Returns a list of file requests owned by this user. For apps with the app\n * folder permission, this will only return file requests with destinations in\n * the app folder.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsListV2\n * @arg {FileRequestsListFileRequestsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsV2Result>, DropboxResponseError.<FileRequestsListFileRequestsError>>}\n */\n\n\nroutes.fileRequestsListV2 = function (arg) {\n return this.request('file_requests/list_v2', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Returns a list of file requests owned by this user. For apps with the app\n * folder permission, this will only return file requests with destinations in\n * the app folder.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsList\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsResult>, DropboxResponseError.<FileRequestsListFileRequestsError>>}\n */\n\n\nroutes.fileRequestsList = function () {\n return this.request('file_requests/list', null, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Once a cursor has been retrieved from list_v2, use this to paginate through\n * all file requests. The cursor must come from a previous call to list_v2 or\n * list/continue.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsListContinue\n * @arg {FileRequestsListFileRequestsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsV2Result>, DropboxResponseError.<FileRequestsListFileRequestsContinueError>>}\n */\n\n\nroutes.fileRequestsListContinue = function (arg) {\n return this.request('file_requests/list/continue', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Update a file request.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsUpdate\n * @arg {FileRequestsUpdateFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsUpdateFileRequestError>>}\n */\n\n\nroutes.fileRequestsUpdate = function (arg) {\n return this.request('file_requests/update', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Returns the metadata for a file or folder. This is an alpha endpoint\n * compatible with the properties API. Note: Metadata for the root folder is\n * unsupported.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesAlphaGetMetadata\n * @deprecated\n * @arg {FilesAlphaGetMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesAlphaGetMetadataError>>}\n */\n\n\nroutes.filesAlphaGetMetadata = function (arg) {\n return this.request('files/alpha/get_metadata', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Create a new file with the contents provided in the request. Note that the\n * behavior of this alpha endpoint is unstable and subject to change. Do not use\n * this to upload a file larger than 150 MB. Instead, create an upload session\n * with upload_session/start.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesAlphaUpload\n * @deprecated\n * @arg {FilesUploadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadError>>}\n */\n\n\nroutes.filesAlphaUpload = function (arg) {\n return this.request('files/alpha/upload', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Copy a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be copied.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyV2\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationResult>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesCopyV2 = function (arg) {\n return this.request('files/copy_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be copied.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopy\n * @deprecated\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesCopy = function (arg) {\n return this.request('files/copy', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy multiple files or folders to different locations at once in the user's\n * Dropbox. This route will replace copy_batch. The main difference is this\n * route will return status for each entry, while copy_batch raises failure if\n * any entry fails. This route will either finish synchronously, or return a job\n * ID and do the async copy job in background. Please use copy_batch/check_v2 to\n * check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchV2\n * @arg {Object} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2Launch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCopyBatchV2 = function (arg) {\n return this.request('files/copy_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy multiple files or folders to different locations at once in the user's\n * Dropbox. This route will return job ID immediately and do the async copy job\n * in background. Please use copy_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatch\n * @deprecated\n * @arg {FilesRelocationBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCopyBatch = function (arg) {\n return this.request('files/copy_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for copy_batch_v2. It returns list\n * of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchCheckV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2JobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCopyBatchCheckV2 = function (arg) {\n return this.request('files/copy_batch/check_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for copy_batch. If success, it\n * returns list of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchCheck\n * @deprecated\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCopyBatchCheck = function (arg) {\n return this.request('files/copy_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Get a copy reference to a file or folder. This reference string can be used\n * to save that file or folder to another user's Dropbox by passing it to\n * copy_reference/save.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyReferenceGet\n * @arg {FilesGetCopyReferenceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetCopyReferenceResult>, DropboxResponseError.<FilesGetCopyReferenceError>>}\n */\n\n\nroutes.filesCopyReferenceGet = function (arg) {\n return this.request('files/copy_reference/get', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Save a copy reference returned by copy_reference/get to the user's Dropbox.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyReferenceSave\n * @arg {FilesSaveCopyReferenceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveCopyReferenceResult>, DropboxResponseError.<FilesSaveCopyReferenceError>>}\n */\n\n\nroutes.filesCopyReferenceSave = function (arg) {\n return this.request('files/copy_reference/save', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a folder at a given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderV2\n * @arg {FilesCreateFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderResult>, DropboxResponseError.<FilesCreateFolderError>>}\n */\n\n\nroutes.filesCreateFolderV2 = function (arg) {\n return this.request('files/create_folder_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a folder at a given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolder\n * @deprecated\n * @arg {FilesCreateFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFolderMetadata>, DropboxResponseError.<FilesCreateFolderError>>}\n */\n\n\nroutes.filesCreateFolder = function (arg) {\n return this.request('files/create_folder', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create multiple folders at once. This route is asynchronous for large\n * batches, which returns a job ID immediately and runs the create folder batch\n * asynchronously. Otherwise, creates the folders and returns the result\n * synchronously for smaller inputs. You can force asynchronous behaviour by\n * using the CreateFolderBatchArg.force_async flag. Use\n * create_folder_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderBatch\n * @arg {FilesCreateFolderBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCreateFolderBatch = function (arg) {\n return this.request('files/create_folder_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for create_folder_batch. If\n * success, it returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCreateFolderBatchCheck = function (arg) {\n return this.request('files/create_folder_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete the file or folder at a given path. If the path is a folder, all its\n * contents will be deleted too. A successful response indicates that the file\n * or folder was deleted. The returned metadata will be the corresponding\n * FileMetadata or FolderMetadata for the item at time of deletion, and not a\n * DeletedMetadata object.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteV2\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteResult>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesDeleteV2 = function (arg) {\n return this.request('files/delete_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete the file or folder at a given path. If the path is a folder, all its\n * contents will be deleted too. A successful response indicates that the file\n * or folder was deleted. The returned metadata will be the corresponding\n * FileMetadata or FolderMetadata for the item at time of deletion, and not a\n * DeletedMetadata object.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDelete\n * @deprecated\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesDelete = function (arg) {\n return this.request('files/delete', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete multiple files/folders at once. This route is asynchronous, which\n * returns a job ID immediately and runs the delete batch asynchronously. Use\n * delete_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteBatch\n * @arg {FilesDeleteBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesDeleteBatch = function (arg) {\n return this.request('files/delete_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for delete_batch. If success, it\n * returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesDeleteBatchCheck = function (arg) {\n return this.request('files/delete_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Download a file from a user's Dropbox.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesDownload\n * @arg {FilesDownloadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesDownloadError>>}\n */\n\n\nroutes.filesDownload = function (arg) {\n return this.request('files/download', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Download a folder from the user's Dropbox, as a zip file. The folder must be\n * less than 20 GB in size and any single file within must be less than 4 GB in\n * size. The resulting zip must have fewer than 10,000 total file and folder\n * entries, including the top level folder. The input cannot be a single file.\n * Note: this endpoint does not support HTTP range requests.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesDownloadZip\n * @arg {FilesDownloadZipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDownloadZipResult>, DropboxResponseError.<FilesDownloadZipError>>}\n */\n\n\nroutes.filesDownloadZip = function (arg) {\n return this.request('files/download_zip', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Export a file from a user's Dropbox. This route only supports exporting files\n * that cannot be downloaded directly and whose ExportResult.file_metadata has\n * ExportInfo.export_as populated.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesExport\n * @arg {FilesExportArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesExportResult>, DropboxResponseError.<FilesExportError>>}\n */\n\n\nroutes.filesExport = function (arg) {\n return this.request('files/export', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Return the lock metadata for the given list of paths.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetFileLockBatch\n * @arg {FilesLockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesGetFileLockBatch = function (arg) {\n return this.request('files/get_file_lock_batch', arg, 'user', 'api', 'rpc', 'files.content.read');\n};\n/**\n * Returns the metadata for a file or folder. Note: Metadata for the root folder\n * is unsupported.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesGetMetadata\n * @arg {FilesGetMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesGetMetadataError>>}\n */\n\n\nroutes.filesGetMetadata = function (arg) {\n return this.request('files/get_metadata', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Get a preview for a file. Currently, PDF previews are generated for files\n * with the following extensions: .ai, .doc, .docm, .docx, .eps, .gdoc,\n * .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .rtf. HTML\n * previews are generated for files with the following extensions: .csv, .ods,\n * .xls, .xlsm, .gsheet, .xlsx. Other formats will return an unsupported\n * extension error.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetPreview\n * @arg {FilesPreviewArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesPreviewError>>}\n */\n\n\nroutes.filesGetPreview = function (arg) {\n return this.request('files/get_preview', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get a temporary link to stream content of a file. This link will expire in\n * four hours and afterwards you will get 410 Gone. This URL should not be used\n * to display content directly in the browser. The Content-Type of the link is\n * determined automatically by the file's mime type.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetTemporaryLink\n * @arg {FilesGetTemporaryLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTemporaryLinkResult>, DropboxResponseError.<FilesGetTemporaryLinkError>>}\n */\n\n\nroutes.filesGetTemporaryLink = function (arg) {\n return this.request('files/get_temporary_link', arg, 'user', 'api', 'rpc', 'files.content.read');\n};\n/**\n * Get a one-time use temporary upload link to upload a file to a Dropbox\n * location. This endpoint acts as a delayed upload. The returned temporary\n * upload link may be used to make a POST request with the data to be uploaded.\n * The upload will then be perfomed with the CommitInfo previously provided to\n * get_temporary_upload_link but evaluated only upon consumption. Hence, errors\n * stemming from invalid CommitInfo with respect to the state of the user's\n * Dropbox will only be communicated at consumption time. Additionally, these\n * errors are surfaced as generic HTTP 409 Conflict responses, potentially\n * hiding issue details. The maximum temporary upload link duration is 4 hours.\n * Upon consumption or expiration, a new link will have to be generated.\n * Multiple links may exist for a specific upload path at any given time. The\n * POST request on the temporary upload link must have its Content-Type set to\n * \"application/octet-stream\". Example temporary upload link consumption\n * request: curl -X POST\n * https://content.dropboxapi.com/apitul/1/bNi2uIYF51cVBND --header\n * \"Content-Type: application/octet-stream\" --data-binary @local_file.txt A\n * successful temporary upload link consumption request returns the content hash\n * of the uploaded data in JSON format. Example successful temporary upload\n * link consumption response: {\"content-hash\":\n * \"599d71033d700ac892a0e48fa61b125d2f5994\"} An unsuccessful temporary upload\n * link consumption request returns any of the following status codes: HTTP 400\n * Bad Request: Content-Type is not one of application/octet-stream and\n * text/plain or request is invalid. HTTP 409 Conflict: The temporary upload\n * link does not exist or is currently unavailable, the upload failed, or\n * another error happened. HTTP 410 Gone: The temporary upload link is expired\n * or consumed. Example unsuccessful temporary upload link consumption\n * response: Temporary upload link has been recently consumed.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesGetTemporaryUploadLink\n * @arg {FilesGetTemporaryUploadLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTemporaryUploadLinkResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesGetTemporaryUploadLink = function (arg) {\n return this.request('files/get_temporary_upload_link', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Get a thumbnail for an image. This method currently supports files with the\n * following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp.\n * Photos that are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnail\n * @arg {FilesThumbnailArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesThumbnailError>>}\n */\n\n\nroutes.filesGetThumbnail = function (arg) {\n return this.request('files/get_thumbnail', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get a thumbnail for an image. This method currently supports files with the\n * following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp.\n * Photos that are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnailV2\n * @arg {FilesThumbnailV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPreviewResult>, DropboxResponseError.<FilesThumbnailV2Error>>}\n */\n\n\nroutes.filesGetThumbnailV2 = function (arg) {\n return this.request('files/get_thumbnail_v2', arg, 'app, user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get thumbnails for a list of images. We allow up to 25 thumbnails in a single\n * batch. This method currently supports files with the following file\n * extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that\n * are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnailBatch\n * @arg {FilesGetThumbnailBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetThumbnailBatchResult>, DropboxResponseError.<FilesGetThumbnailBatchError>>}\n */\n\n\nroutes.filesGetThumbnailBatch = function (arg) {\n return this.request('files/get_thumbnail_batch', arg, 'user', 'content', 'rpc', 'files.content.read');\n};\n/**\n * Starts returning the contents of a folder. If the result's\n * ListFolderResult.has_more field is true, call list_folder/continue with the\n * returned ListFolderResult.cursor to retrieve more entries. If you're using\n * ListFolderArg.recursive set to true to keep a local cache of the contents of\n * a Dropbox account, iterate through each entry in order and process them as\n * follows to keep your local state in sync: For each FileMetadata, store the\n * new entry at the given path in your local state. If the required parent\n * folders don't exist yet, create them. If there's already something else at\n * the given path, replace it and remove all its children. For each\n * FolderMetadata, store the new entry at the given path in your local state. If\n * the required parent folders don't exist yet, create them. If there's already\n * something else at the given path, replace it but leave the children as they\n * are. Check the new entry's FolderSharingInfo.read_only and set all its\n * children's read-only statuses to match. For each DeletedMetadata, if your\n * local state has something at the given path, remove it and all its children.\n * If there's nothing at the given path, ignore this entry. Note:\n * auth.RateLimitError may be returned if multiple list_folder or\n * list_folder/continue calls with same parameters are made simultaneously by\n * same API app for same user. If your app implements retry logic, please hold\n * off the retry until the previous request finishes.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolder\n * @arg {FilesListFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderResult>, DropboxResponseError.<FilesListFolderError>>}\n */\n\n\nroutes.filesListFolder = function (arg) {\n return this.request('files/list_folder', arg, 'app, user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from list_folder, use this to paginate\n * through all files and retrieve updates to the folder, following the same\n * rules as documented for list_folder.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderContinue\n * @arg {FilesListFolderContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderResult>, DropboxResponseError.<FilesListFolderContinueError>>}\n */\n\n\nroutes.filesListFolderContinue = function (arg) {\n return this.request('files/list_folder/continue', arg, 'app, user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * A way to quickly get a cursor for the folder's state. Unlike list_folder,\n * list_folder/get_latest_cursor doesn't return any entries. This endpoint is\n * for app which only needs to know about new files and modifications and\n * doesn't need to know about files that already exist in Dropbox.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderGetLatestCursor\n * @arg {FilesListFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderGetLatestCursorResult>, DropboxResponseError.<FilesListFolderError>>}\n */\n\n\nroutes.filesListFolderGetLatestCursor = function (arg) {\n return this.request('files/list_folder/get_latest_cursor', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * A longpoll endpoint to wait for changes on an account. In conjunction with\n * list_folder/continue, this call gives you a low-latency way to monitor an\n * account for file changes. The connection will block until there are changes\n * available or a timeout occurs. This endpoint is useful mostly for client-side\n * apps. If you're looking for server-side notifications, check out our webhooks\n * documentation https://www.dropbox.com/developers/reference/webhooks.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderLongpoll\n * @arg {FilesListFolderLongpollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderLongpollResult>, DropboxResponseError.<FilesListFolderLongpollError>>}\n */\n\n\nroutes.filesListFolderLongpoll = function (arg) {\n return this.request('files/list_folder/longpoll', arg, 'noauth', 'notify', 'rpc', 'files.metadata.read');\n};\n/**\n * Returns revisions for files based on a file path or a file id. The file path\n * or file id is identified from the latest file entry at the given file path or\n * id. This end point allows your app to query either by file path or file id by\n * setting the mode parameter appropriately. In the ListRevisionsMode.path\n * (default) mode, all revisions at the same file path as the latest file entry\n * are returned. If revisions with the same file id are desired, then mode must\n * be set to ListRevisionsMode.id. The ListRevisionsMode.id mode is useful to\n * retrieve revisions for a given file across moves or renames.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListRevisions\n * @arg {FilesListRevisionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListRevisionsResult>, DropboxResponseError.<FilesListRevisionsError>>}\n */\n\n\nroutes.filesListRevisions = function (arg) {\n return this.request('files/list_revisions', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Lock the files at the given paths. A locked file will be writable only by the\n * lock holder. A successful response indicates that the file has been locked.\n * Returns a list of the locked file paths and their metadata after this\n * operation.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesLockFileBatch\n * @arg {FilesLockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesLockFileBatch = function (arg) {\n return this.request('files/lock_file_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be moved. Note that we do not\n * currently support case-only renaming.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveV2\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationResult>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesMoveV2 = function (arg) {\n return this.request('files/move_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be moved.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMove\n * @deprecated\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesMove = function (arg) {\n return this.request('files/move', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move multiple files or folders to different locations at once in the user's\n * Dropbox. Note that we do not currently support case-only renaming. This route\n * will replace move_batch. The main difference is this route will return status\n * for each entry, while move_batch raises failure if any entry fails. This\n * route will either finish synchronously, or return a job ID and do the async\n * move job in background. Please use move_batch/check_v2 to check the job\n * status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchV2\n * @arg {FilesMoveBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2Launch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesMoveBatchV2 = function (arg) {\n return this.request('files/move_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move multiple files or folders to different locations at once in the user's\n * Dropbox. This route will return job ID immediately and do the async moving\n * job in background. Please use move_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatch\n * @deprecated\n * @arg {FilesRelocationBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesMoveBatch = function (arg) {\n return this.request('files/move_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for move_batch_v2. It returns list\n * of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchCheckV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2JobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesMoveBatchCheckV2 = function (arg) {\n return this.request('files/move_batch/check_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for move_batch. If success, it\n * returns list of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchCheck\n * @deprecated\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesMoveBatchCheck = function (arg) {\n return this.request('files/move_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Creates a new Paper doc with the provided content.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesPaperCreate\n * @arg {FilesPaperCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPaperCreateResult>, DropboxResponseError.<FilesPaperCreateError>>}\n */\n\n\nroutes.filesPaperCreate = function (arg) {\n return this.request('files/paper/create', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Updates an existing Paper doc with the provided content.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesPaperUpdate\n * @arg {FilesPaperUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPaperUpdateResult>, DropboxResponseError.<FilesPaperUpdateError>>}\n */\n\n\nroutes.filesPaperUpdate = function (arg) {\n return this.request('files/paper/update', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Permanently delete the file or folder at a given path (see\n * https://www.dropbox.com/en/help/40). If the given file or folder is not yet\n * deleted, this route will first delete it. It is possible for this route to\n * successfully delete, then fail to permanently delete. Note: This endpoint is\n * only available for Dropbox Business apps.\n * Route attributes:\n * scope: files.permanent_delete\n * @function Dropbox#filesPermanentlyDelete\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesPermanentlyDelete = function (arg) {\n return this.request('files/permanently_delete', arg, 'user', 'api', 'rpc', 'files.permanent_delete');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesAdd\n * @deprecated\n * @arg {FilePropertiesAddPropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesAddPropertiesError>>}\n */\n\n\nroutes.filesPropertiesAdd = function (arg) {\n return this.request('files/properties/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesOverwrite\n * @deprecated\n * @arg {FilePropertiesOverwritePropertyGroupArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesInvalidPropertyGroupError>>}\n */\n\n\nroutes.filesPropertiesOverwrite = function (arg) {\n return this.request('files/properties/overwrite', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesRemove\n * @deprecated\n * @arg {FilePropertiesRemovePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesRemovePropertiesError>>}\n */\n\n\nroutes.filesPropertiesRemove = function (arg) {\n return this.request('files/properties/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesPropertiesTemplateGet\n * @deprecated\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filesPropertiesTemplateGet = function (arg) {\n return this.request('files/properties/template/get', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesPropertiesTemplateList\n * @deprecated\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filesPropertiesTemplateList = function () {\n return this.request('files/properties/template/list', null, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesUpdate\n * @deprecated\n * @arg {FilePropertiesUpdatePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesUpdatePropertiesError>>}\n */\n\n\nroutes.filesPropertiesUpdate = function (arg) {\n return this.request('files/properties/update', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Restore a specific revision of a file to the given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesRestore\n * @arg {FilesRestoreArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesRestoreError>>}\n */\n\n\nroutes.filesRestore = function (arg) {\n return this.request('files/restore', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Save the data from a specified URL into a file in user's Dropbox. Note that\n * the transfer from the URL must complete within 5 minutes, or the operation\n * will time out and the job will fail. If the given path already exists, the\n * file will be renamed to avoid the conflict (e.g. myfile (1).txt).\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesSaveUrl\n * @arg {FilesSaveUrlArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveUrlResult>, DropboxResponseError.<FilesSaveUrlError>>}\n */\n\n\nroutes.filesSaveUrl = function (arg) {\n return this.request('files/save_url', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Check the status of a save_url job.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesSaveUrlCheckJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveUrlJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesSaveUrlCheckJobStatus = function (arg) {\n return this.request('files/save_url/check_job_status', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Searches for files and folders. Note: Recent changes will be reflected in\n * search results within a few seconds and older revisions of existing files may\n * still match your query for up to a few days.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearch\n * @deprecated\n * @arg {FilesSearchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchResult>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearch = function (arg) {\n return this.request('files/search', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Searches for files and folders. Note: search_v2 along with search/continue_v2\n * can only be used to retrieve a maximum of 10,000 matches. Recent changes may\n * not immediately be reflected in search results due to a short delay in\n * indexing. Duplicate results may be returned across pages. Some results may\n * not be returned.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearchV2\n * @arg {FilesSearchV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchV2Result>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearchV2 = function (arg) {\n return this.request('files/search_v2', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Fetches the next page of search results returned from search_v2. Note:\n * search_v2 along with search/continue_v2 can only be used to retrieve a\n * maximum of 10,000 matches. Recent changes may not immediately be reflected in\n * search results due to a short delay in indexing. Duplicate results may be\n * returned across pages. Some results may not be returned.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearchContinueV2\n * @arg {FilesSearchV2ContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchV2Result>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearchContinueV2 = function (arg) {\n return this.request('files/search/continue_v2', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Add a tag to an item. A tag is a string. The strings are automatically\n * converted to lowercase letters. No more than 20 tags can be added to a given\n * item.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesTagsAdd\n * @arg {FilesAddTagArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesAddTagError>>}\n */\n\n\nroutes.filesTagsAdd = function (arg) {\n return this.request('files/tags/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Get list of tags assigned to items.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesTagsGet\n * @arg {FilesGetTagsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTagsResult>, DropboxResponseError.<FilesBaseTagError>>}\n */\n\n\nroutes.filesTagsGet = function (arg) {\n return this.request('files/tags/get', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Remove a tag from an item.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesTagsRemove\n * @arg {FilesRemoveTagArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesRemoveTagError>>}\n */\n\n\nroutes.filesTagsRemove = function (arg) {\n return this.request('files/tags/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Unlock the files at the given paths. A locked file can only be unlocked by\n * the lock holder or, if a business account, a team admin. A successful\n * response indicates that the file has been unlocked. Returns a list of the\n * unlocked file paths and their metadata after this operation.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUnlockFileBatch\n * @arg {FilesUnlockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesUnlockFileBatch = function (arg) {\n return this.request('files/unlock_file_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a new file with the contents provided in the request. Do not use this\n * to upload a file larger than 150 MB. Instead, create an upload session with\n * upload_session/start. Calls to this endpoint will count as data transport\n * calls for any Dropbox Business teams with a limit on the number of data\n * transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUpload\n * @arg {FilesUploadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadError>>}\n */\n\n\nroutes.filesUpload = function (arg) {\n return this.request('files/upload', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Append more data to an upload session. When the parameter close is set, this\n * call will close the session. A single request should not upload more than 150\n * MB. The maximum size of a file one can upload to an upload session is 350 GB.\n * Calls to this endpoint will count as data transport calls for any Dropbox\n * Business teams with a limit on the number of data transport calls allowed per\n * month. For more information, see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionAppendV2\n * @arg {FilesUploadSessionAppendArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesUploadSessionAppendError>>}\n */\n\n\nroutes.filesUploadSessionAppendV2 = function (arg) {\n return this.request('files/upload_session/append_v2', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Append more data to an upload session. A single request should not upload\n * more than 150 MB. The maximum size of a file one can upload to an upload\n * session is 350 GB. Calls to this endpoint will count as data transport calls\n * for any Dropbox Business teams with a limit on the number of data transport\n * calls allowed per month. For more information, see the Data transport limit\n * page https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionAppend\n * @deprecated\n * @arg {FilesUploadSessionCursor} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesUploadSessionAppendError>>}\n */\n\n\nroutes.filesUploadSessionAppend = function (arg) {\n return this.request('files/upload_session/append', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Finish an upload session and save the uploaded data to the given file path. A\n * single request should not upload more than 150 MB. The maximum size of a file\n * one can upload to an upload session is 350 GB. Calls to this endpoint will\n * count as data transport calls for any Dropbox Business teams with a limit on\n * the number of data transport calls allowed per month. For more information,\n * see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinish\n * @arg {FilesUploadSessionFinishArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadSessionFinishError>>}\n */\n\n\nroutes.filesUploadSessionFinish = function (arg) {\n return this.request('files/upload_session/finish', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * This route helps you commit many files at once into a user's Dropbox. Use\n * upload_session/start and upload_session/append_v2 to upload file contents. We\n * recommend uploading many files in parallel to increase throughput. Once the\n * file contents have been uploaded, rather than calling upload_session/finish,\n * use this route to finish all your upload sessions in a single request.\n * UploadSessionStartArg.close or UploadSessionAppendArg.close needs to be true\n * for the last upload_session/start or upload_session/append_v2 call. The\n * maximum size of a file one can upload to an upload session is 350 GB. This\n * route will return a job_id immediately and do the async commit job in\n * background. Use upload_session/finish_batch/check to check the job status.\n * For the same account, this route should be executed serially. That means you\n * should not start the next job before current job finishes. We allow up to\n * 1000 entries in a single request. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatch\n * @deprecated\n * @arg {FilesUploadSessionFinishBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionFinishBatch = function (arg) {\n return this.request('files/upload_session/finish_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * This route helps you commit many files at once into a user's Dropbox. Use\n * upload_session/start and upload_session/append_v2 to upload file contents. We\n * recommend uploading many files in parallel to increase throughput. Once the\n * file contents have been uploaded, rather than calling upload_session/finish,\n * use this route to finish all your upload sessions in a single request.\n * UploadSessionStartArg.close or UploadSessionAppendArg.close needs to be true\n * for the last upload_session/start or upload_session/append_v2 call of each\n * upload session. The maximum size of a file one can upload to an upload\n * session is 350 GB. We allow up to 1000 entries in a single request. Calls to\n * this endpoint will count as data transport calls for any Dropbox Business\n * teams with a limit on the number of data transport calls allowed per month.\n * For more information, see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatchV2\n * @arg {FilesUploadSessionFinishBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionFinishBatchV2 = function (arg) {\n return this.request('files/upload_session/finish_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for upload_session/finish_batch. If\n * success, it returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesUploadSessionFinishBatchCheck = function (arg) {\n return this.request('files/upload_session/finish_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Upload sessions allow you to upload a single file in one or more requests,\n * for example where the size of the file is greater than 150 MB. This call\n * starts a new upload session with the given data. You can then use\n * upload_session/append_v2 to add more data and upload_session/finish to save\n * all the data to a file in Dropbox. A single request should not upload more\n * than 150 MB. The maximum size of a file one can upload to an upload session\n * is 350 GB. An upload session can be used for a maximum of 7 days. Attempting\n * to use an UploadSessionStartResult.session_id with upload_session/append_v2\n * or upload_session/finish more than 7 days after its creation will return a\n * UploadSessionLookupError.not_found. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit. By\n * default, upload sessions require you to send content of the file in\n * sequential order via consecutive upload_session/start,\n * upload_session/append_v2, upload_session/finish calls. For better\n * performance, you can instead optionally use a UploadSessionType.concurrent\n * upload session. To start a new concurrent session, set\n * UploadSessionStartArg.session_type to UploadSessionType.concurrent. After\n * that, you can send file data in concurrent upload_session/append_v2 requests.\n * Finally finish the session with upload_session/finish. There are couple of\n * constraints with concurrent sessions to make them work. You can not send data\n * with upload_session/start or upload_session/finish call, only with\n * upload_session/append_v2 call. Also data uploaded in upload_session/append_v2\n * call must be multiple of 4194304 bytes (except for last\n * upload_session/append_v2 with UploadSessionStartArg.close to true, that may\n * contain any remaining data).\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionStart\n * @arg {FilesUploadSessionStartArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionStartResult>, DropboxResponseError.<FilesUploadSessionStartError>>}\n */\n\n\nroutes.filesUploadSessionStart = function (arg) {\n return this.request('files/upload_session/start', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * This route starts batch of upload_sessions. Please refer to\n * `upload_session/start` usage. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionStartBatch\n * @arg {FilesUploadSessionStartBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionStartBatchResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionStartBatch = function (arg) {\n return this.request('files/upload_session/start_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * This route is used for refreshing the info that is found in the id_token\n * during the OIDC flow. This route doesn't require any arguments and will use\n * the scopes approved for the given access token.\n * Route attributes:\n * scope: openid\n * @function Dropbox#openidUserinfo\n * @arg {OpenidUserInfoArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<OpenidUserInfoResult>, DropboxResponseError.<OpenidUserInfoError>>}\n */\n\n\nroutes.openidUserinfo = function (arg) {\n return this.request('openid/userinfo', arg, 'user', 'api', 'rpc', 'openid');\n};\n/**\n * Marks the given Paper doc as archived. This action can be performed or undone\n * by anyone with edit permissions to the doc. Note that this endpoint will\n * continue to work for content created by users on the older version of Paper.\n * To check which version of Paper a user is on, use /users/features/get_values.\n * If the paper_as_files feature is enabled, then the user is running the new\n * version of Paper. This endpoint will be retired in September 2020. Refer to\n * the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsArchive\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsArchive = function (arg) {\n return this.request('paper/docs/archive', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Creates a new Paper doc with the provided content. Note that this endpoint\n * will continue to work for content created by users on the older version of\n * Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. This endpoint will be retired\n * in September 2020. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsCreate\n * @deprecated\n * @arg {PaperPaperDocCreateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocCreateUpdateResult>, DropboxResponseError.<PaperPaperDocCreateError>>}\n */\n\n\nroutes.paperDocsCreate = function (arg) {\n return this.request('paper/docs/create', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Exports and downloads Paper doc either as HTML or markdown. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#paperDocsDownload\n * @deprecated\n * @arg {PaperPaperDocExport} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocExportResult>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsDownload = function (arg) {\n return this.request('paper/docs/download', arg, 'user', 'api', 'download', 'files.content.read');\n};\n/**\n * Lists the users who are explicitly invited to the Paper folder in which the\n * Paper doc is contained. For private folders all users (including owner)\n * shared on the folder are listed and for team folders all non-team users\n * shared on the folder are returned. Note that this endpoint will continue to\n * work for content created by users on the older version of Paper. To check\n * which version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsFolderUsersList\n * @deprecated\n * @arg {PaperListUsersOnFolderArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnFolderResponse>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsFolderUsersList = function (arg) {\n return this.request('paper/docs/folder_users/list', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from docs/folder_users/list, use this to\n * paginate through all users on the Paper folder. Note that this endpoint will\n * continue to work for content created by users on the older version of Paper.\n * To check which version of Paper a user is on, use /users/features/get_values.\n * If the paper_as_files feature is enabled, then the user is running the new\n * version of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsFolderUsersListContinue\n * @deprecated\n * @arg {PaperListUsersOnFolderContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnFolderResponse>, DropboxResponseError.<PaperListUsersCursorError>>}\n */\n\n\nroutes.paperDocsFolderUsersListContinue = function (arg) {\n return this.request('paper/docs/folder_users/list/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Retrieves folder information for the given Paper doc. This includes: -\n * folder sharing policy; permissions for subfolders are set by the top-level\n * folder. - full 'filepath', i.e. the list of folders (both folderId and\n * folderName) from the root folder to the folder directly containing the\n * Paper doc. If the Paper doc is not in any folder (aka unfiled) the response\n * will be empty. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsGetFolderInfo\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperFoldersContainingPaperDoc>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsGetFolderInfo = function (arg) {\n return this.request('paper/docs/get_folder_info', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all Paper docs according to the argument specifications.\n * To iterate over through the full pagination, pass the cursor to\n * docs/list/continue. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#paperDocsList\n * @deprecated\n * @arg {PaperListPaperDocsArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListPaperDocsResponse>, DropboxResponseError.<void>>}\n */\n\n\nroutes.paperDocsList = function (arg) {\n return this.request('paper/docs/list', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from docs/list, use this to paginate through\n * all Paper doc. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#paperDocsListContinue\n * @deprecated\n * @arg {PaperListPaperDocsContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListPaperDocsResponse>, DropboxResponseError.<PaperListDocsCursorError>>}\n */\n\n\nroutes.paperDocsListContinue = function (arg) {\n return this.request('paper/docs/list/continue', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Permanently deletes the given Paper doc. This operation is final as the doc\n * cannot be recovered. This action can be performed only by the doc owner. Note\n * that this endpoint will continue to work for content created by users on the\n * older version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.permanent_delete\n * @function Dropbox#paperDocsPermanentlyDelete\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsPermanentlyDelete = function (arg) {\n return this.request('paper/docs/permanently_delete', arg, 'user', 'api', 'rpc', 'files.permanent_delete');\n};\n/**\n * Gets the default sharing policy for the given Paper doc. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsSharingPolicyGet\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperSharingPolicy>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsSharingPolicyGet = function (arg) {\n return this.request('paper/docs/sharing_policy/get', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Sets the default sharing policy for the given Paper doc. The default\n * 'team_sharing_policy' can be changed only by teams, omit this field for\n * personal accounts. The 'public_sharing_policy' policy can't be set to the\n * value 'disabled' because this setting can be changed only via the team admin\n * console. Note that this endpoint will continue to work for content created by\n * users on the older version of Paper. To check which version of Paper a user\n * is on, use /users/features/get_values. If the paper_as_files feature is\n * enabled, then the user is running the new version of Paper. Refer to the\n * Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsSharingPolicySet\n * @deprecated\n * @arg {PaperPaperDocSharingPolicy} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsSharingPolicySet = function (arg) {\n return this.request('paper/docs/sharing_policy/set', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Updates an existing Paper doc with the provided content. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. This endpoint will be retired\n * in September 2020. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsUpdate\n * @deprecated\n * @arg {PaperPaperDocUpdateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocCreateUpdateResult>, DropboxResponseError.<PaperPaperDocUpdateError>>}\n */\n\n\nroutes.paperDocsUpdate = function (arg) {\n return this.request('paper/docs/update', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Allows an owner or editor to add users to a Paper doc or change their\n * permissions using their email address or Dropbox account ID. The doc owner's\n * permissions cannot be changed. Note that this endpoint will continue to work\n * for content created by users on the older version of Paper. To check which\n * version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsUsersAdd\n * @deprecated\n * @arg {PaperAddPaperDocUser} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<PaperAddPaperDocUserMemberResult>>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersAdd = function (arg) {\n return this.request('paper/docs/users/add', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Lists all users who visited the Paper doc or users with explicit access. This\n * call excludes users who have been removed. The list is sorted by the date of\n * the visit or the share date. The list will include both users, the explicitly\n * shared ones as well as those who came in using the Paper url link. Note that\n * this endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsUsersList\n * @deprecated\n * @arg {PaperListUsersOnPaperDocArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnPaperDocResponse>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersList = function (arg) {\n return this.request('paper/docs/users/list', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from docs/users/list, use this to paginate\n * through all users on the Paper doc. Note that this endpoint will continue to\n * work for content created by users on the older version of Paper. To check\n * which version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsUsersListContinue\n * @deprecated\n * @arg {PaperListUsersOnPaperDocContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnPaperDocResponse>, DropboxResponseError.<PaperListUsersCursorError>>}\n */\n\n\nroutes.paperDocsUsersListContinue = function (arg) {\n return this.request('paper/docs/users/list/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Allows an owner or editor to remove users from a Paper doc using their email\n * address or Dropbox account ID. The doc owner cannot be removed. Note that\n * this endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsUsersRemove\n * @deprecated\n * @arg {PaperRemovePaperDocUser} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersRemove = function (arg) {\n return this.request('paper/docs/users/remove', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a new Paper folder with the provided info. Note that this endpoint\n * will continue to work for content created by users on the older version of\n * Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperFoldersCreate\n * @deprecated\n * @arg {PaperPaperFolderCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperFolderCreateResult>, DropboxResponseError.<PaperPaperFolderCreateError>>}\n */\n\n\nroutes.paperFoldersCreate = function (arg) {\n return this.request('paper/folders/create', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Adds specified members to a file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingAddFileMember\n * @arg {SharingAddFileMemberArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingFileMemberActionResult>>, DropboxResponseError.<SharingAddFileMemberError>>}\n */\n\n\nroutes.sharingAddFileMember = function (arg) {\n return this.request('sharing/add_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor (if the ACL update policy allows) of a shared\n * folder to add another member. For the new member to get access to all the\n * functionality for this folder, you will need to call mount_folder on their\n * behalf.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingAddFolderMember\n * @arg {SharingAddFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingAddFolderMemberError>>}\n */\n\n\nroutes.sharingAddFolderMember = function (arg) {\n return this.request('sharing/add_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckJobStatus = function (arg) {\n return this.request('sharing/check_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job for sharing a folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckRemoveMemberJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingRemoveMemberJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckRemoveMemberJobStatus = function (arg) {\n return this.request('sharing/check_remove_member_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job for sharing a folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckShareJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckShareJobStatus = function (arg) {\n return this.request('sharing/check_share_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a shared link. If a shared link already exists for the given path,\n * that link is returned. Previously, it was technically possible to break a\n * shared link by moving or renaming the corresponding file or folder. In the\n * future, this will no longer be the case, so your app shouldn't rely on this\n * behavior. Instead, if your app needs to revoke a shared link, use\n * revoke_shared_link.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCreateSharedLink\n * @deprecated\n * @arg {SharingCreateSharedLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingPathLinkMetadata>, DropboxResponseError.<SharingCreateSharedLinkError>>}\n */\n\n\nroutes.sharingCreateSharedLink = function (arg) {\n return this.request('sharing/create_shared_link', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a shared link with custom settings. If no settings are given then the\n * default visibility is RequestedVisibility.public (The resolved visibility,\n * though, may depend on other aspects such as team and shared folder settings).\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCreateSharedLinkWithSettings\n * @arg {SharingCreateSharedLinkWithSettingsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingCreateSharedLinkWithSettingsError>>}\n */\n\n\nroutes.sharingCreateSharedLinkWithSettings = function (arg) {\n return this.request('sharing/create_shared_link_with_settings', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns shared file metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFileMetadata\n * @arg {SharingGetFileMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMetadata>, DropboxResponseError.<SharingGetFileMetadataError>>}\n */\n\n\nroutes.sharingGetFileMetadata = function (arg) {\n return this.request('sharing/get_file_metadata', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared file metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFileMetadataBatch\n * @arg {SharingGetFileMetadataBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingGetFileMetadataBatchResult>>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingGetFileMetadataBatch = function (arg) {\n return this.request('sharing/get_file_metadata/batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared folder metadata by its folder ID.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFolderMetadata\n * @arg {SharingGetMetadataArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingSharedFolderAccessError>>}\n */\n\n\nroutes.sharingGetFolderMetadata = function (arg) {\n return this.request('sharing/get_folder_metadata', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Download the shared link's file from a user's Dropbox.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinkFile\n * @arg {Object} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingGetSharedLinkFileError>>}\n */\n\n\nroutes.sharingGetSharedLinkFile = function (arg) {\n return this.request('sharing/get_shared_link_file', arg, 'user', 'content', 'download', 'sharing.read');\n};\n/**\n * Get the shared link's metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinkMetadata\n * @arg {SharingGetSharedLinkMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingSharedLinkError>>}\n */\n\n\nroutes.sharingGetSharedLinkMetadata = function (arg) {\n return this.request('sharing/get_shared_link_metadata', arg, 'app, user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns a list of LinkMetadata objects for this user, including collection\n * links. If no path is given, returns a list of all shared links for the\n * current user, including collection links, up to a maximum of 1000 links. If a\n * non-empty path is given, returns a list of all shared links that allow access\n * to the given path. Collection links are never returned in this case.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinks\n * @deprecated\n * @arg {SharingGetSharedLinksArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingGetSharedLinksResult>, DropboxResponseError.<SharingGetSharedLinksError>>}\n */\n\n\nroutes.sharingGetSharedLinks = function (arg) {\n return this.request('sharing/get_shared_links', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Use to obtain the members who have been invited to a file, both inherited and\n * uninherited members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembers\n * @arg {SharingListFileMembersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMembers>, DropboxResponseError.<SharingListFileMembersError>>}\n */\n\n\nroutes.sharingListFileMembers = function (arg) {\n return this.request('sharing/list_file_members', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get members of multiple files at once. The arguments to this route are more\n * limited, and the limit on query result size per file is more strict. To\n * customize the results more, use the individual file endpoint. Inherited users\n * and groups are not included in the result, and permissions are not returned\n * for this endpoint.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembersBatch\n * @arg {SharingListFileMembersBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingListFileMembersBatchResult>>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingListFileMembersBatch = function (arg) {\n return this.request('sharing/list_file_members/batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_file_members or\n * list_file_members/batch, use this to paginate through all shared file\n * members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembersContinue\n * @arg {SharingListFileMembersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMembers>, DropboxResponseError.<SharingListFileMembersContinueError>>}\n */\n\n\nroutes.sharingListFileMembersContinue = function (arg) {\n return this.request('sharing/list_file_members/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared folder membership by its folder ID.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolderMembers\n * @arg {SharingListFolderMembersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMembers>, DropboxResponseError.<SharingSharedFolderAccessError>>}\n */\n\n\nroutes.sharingListFolderMembers = function (arg) {\n return this.request('sharing/list_folder_members', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_folder_members, use this to\n * paginate through all shared folder members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolderMembersContinue\n * @arg {SharingListFolderMembersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMembers>, DropboxResponseError.<SharingListFolderMembersContinueError>>}\n */\n\n\nroutes.sharingListFolderMembersContinue = function (arg) {\n return this.request('sharing/list_folder_members/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all shared folders the current user has access to.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolders\n * @arg {SharingListFoldersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.sharingListFolders = function (arg) {\n return this.request('sharing/list_folders', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_folders, use this to paginate\n * through all shared folders. The cursor must come from a previous call to\n * list_folders or list_folders/continue.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFoldersContinue\n * @arg {SharingListFoldersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<SharingListFoldersContinueError>>}\n */\n\n\nroutes.sharingListFoldersContinue = function (arg) {\n return this.request('sharing/list_folders/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all shared folders the current user can mount or unmount.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListMountableFolders\n * @arg {SharingListFoldersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.sharingListMountableFolders = function (arg) {\n return this.request('sharing/list_mountable_folders', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_mountable_folders, use this to\n * paginate through all mountable shared folders. The cursor must come from a\n * previous call to list_mountable_folders or list_mountable_folders/continue.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListMountableFoldersContinue\n * @arg {SharingListFoldersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<SharingListFoldersContinueError>>}\n */\n\n\nroutes.sharingListMountableFoldersContinue = function (arg) {\n return this.request('sharing/list_mountable_folders/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns a list of all files shared with current user. Does not include files\n * the user has received via shared folders, and does not include unclaimed\n * invitations.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListReceivedFiles\n * @arg {SharingListFilesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFilesResult>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingListReceivedFiles = function (arg) {\n return this.request('sharing/list_received_files', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get more results with a cursor from list_received_files.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListReceivedFilesContinue\n * @arg {SharingListFilesContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFilesResult>, DropboxResponseError.<SharingListFilesContinueError>>}\n */\n\n\nroutes.sharingListReceivedFilesContinue = function (arg) {\n return this.request('sharing/list_received_files/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * List shared links of this user. If no path is given, returns a list of all\n * shared links for the current user. For members of business teams using team\n * space and member folders, returns all shared links in the team member's home\n * folder unless the team space ID is specified in the request header. For more\n * information, refer to the Namespace Guide\n * https://www.dropbox.com/developers/reference/namespace-guide. If a non-empty\n * path is given, returns a list of all shared links that allow access to the\n * given path - direct links to the given path and links to parent folders of\n * the given path. Links to parent folders can be suppressed by setting\n * direct_only to true.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListSharedLinks\n * @arg {SharingListSharedLinksArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListSharedLinksResult>, DropboxResponseError.<SharingListSharedLinksError>>}\n */\n\n\nroutes.sharingListSharedLinks = function (arg) {\n return this.request('sharing/list_shared_links', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Modify the shared link's settings. If the requested visibility conflict with\n * the shared links policy of the team or the shared folder (in case the linked\n * file is part of a shared folder) then the LinkPermissions.resolved_visibility\n * of the returned SharedLinkMetadata will reflect the actual visibility of the\n * shared link and the LinkPermissions.requested_visibility will reflect the\n * requested visibility.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingModifySharedLinkSettings\n * @arg {SharingModifySharedLinkSettingsArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingModifySharedLinkSettingsError>>}\n */\n\n\nroutes.sharingModifySharedLinkSettings = function (arg) {\n return this.request('sharing/modify_shared_link_settings', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user mounts the designated folder. Mount a shared folder for a\n * user after they have been added as a member. Once mounted, the shared folder\n * will appear in their Dropbox.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingMountFolder\n * @arg {SharingMountFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingMountFolderError>>}\n */\n\n\nroutes.sharingMountFolder = function (arg) {\n return this.request('sharing/mount_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user relinquishes their membership in the designated file. Note\n * that the current user may still have inherited access to this file through\n * the parent folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRelinquishFileMembership\n * @arg {SharingRelinquishFileMembershipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingRelinquishFileMembershipError>>}\n */\n\n\nroutes.sharingRelinquishFileMembership = function (arg) {\n return this.request('sharing/relinquish_file_membership', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user relinquishes their membership in the designated shared\n * folder and will no longer have access to the folder. A folder owner cannot\n * relinquish membership in their own folder. This will run synchronously if\n * leave_a_copy is false, and asynchronously if leave_a_copy is true.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRelinquishFolderMembership\n * @arg {SharingRelinquishFolderMembershipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<SharingRelinquishFolderMembershipError>>}\n */\n\n\nroutes.sharingRelinquishFolderMembership = function (arg) {\n return this.request('sharing/relinquish_folder_membership', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Identical to remove_file_member_2 but with less information returned.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFileMember\n * @deprecated\n * @arg {SharingRemoveFileMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingFileMemberActionIndividualResult>, DropboxResponseError.<SharingRemoveFileMemberError>>}\n */\n\n\nroutes.sharingRemoveFileMember = function (arg) {\n return this.request('sharing/remove_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Removes a specified member from the file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFileMember2\n * @arg {SharingRemoveFileMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingFileMemberRemoveActionResult>, DropboxResponseError.<SharingRemoveFileMemberError>>}\n */\n\n\nroutes.sharingRemoveFileMember2 = function (arg) {\n return this.request('sharing/remove_file_member_2', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor (if the ACL update policy allows) of a shared\n * folder to remove another member.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFolderMember\n * @arg {SharingRemoveFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchResultBase>, DropboxResponseError.<SharingRemoveFolderMemberError>>}\n */\n\n\nroutes.sharingRemoveFolderMember = function (arg) {\n return this.request('sharing/remove_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Revoke a shared link. Note that even after revoking a shared link to a file,\n * the file may be accessible if there are shared links leading to any of the\n * file parent folders. To list all shared links that enable access to a\n * specific file, you can use the list_shared_links with the file as the\n * ListSharedLinksArg.path argument.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRevokeSharedLink\n * @arg {SharingRevokeSharedLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingRevokeSharedLinkError>>}\n */\n\n\nroutes.sharingRevokeSharedLink = function (arg) {\n return this.request('sharing/revoke_shared_link', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Change the inheritance policy of an existing Shared Folder. Only permitted\n * for shared folders in a shared team root. If a ShareFolderLaunch.async_job_id\n * is returned, you'll need to call check_share_job_status until the action\n * completes to get the metadata for the folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingSetAccessInheritance\n * @arg {SharingSetAccessInheritanceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderLaunch>, DropboxResponseError.<SharingSetAccessInheritanceError>>}\n */\n\n\nroutes.sharingSetAccessInheritance = function (arg) {\n return this.request('sharing/set_access_inheritance', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Share a folder with collaborators. Most sharing will be completed\n * synchronously. Large folders will be completed asynchronously. To make\n * testing the async case repeatable, set `ShareFolderArg.force_async`. If a\n * ShareFolderLaunch.async_job_id is returned, you'll need to call\n * check_share_job_status until the action completes to get the metadata for the\n * folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingShareFolder\n * @arg {SharingShareFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderLaunch>, DropboxResponseError.<SharingShareFolderError>>}\n */\n\n\nroutes.sharingShareFolder = function (arg) {\n return this.request('sharing/share_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Transfer ownership of a shared folder to a member of the shared folder. User\n * must have AccessLevel.owner access to the shared folder to perform a\n * transfer.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingTransferFolder\n * @arg {SharingTransferFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingTransferFolderError>>}\n */\n\n\nroutes.sharingTransferFolder = function (arg) {\n return this.request('sharing/transfer_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user unmounts the designated folder. They can re-mount the folder\n * at a later time using mount_folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnmountFolder\n * @arg {SharingUnmountFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingUnmountFolderError>>}\n */\n\n\nroutes.sharingUnmountFolder = function (arg) {\n return this.request('sharing/unmount_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Remove all members from this file. Does not remove inherited members.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnshareFile\n * @arg {SharingUnshareFileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingUnshareFileError>>}\n */\n\n\nroutes.sharingUnshareFile = function (arg) {\n return this.request('sharing/unshare_file', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows a shared folder owner to unshare the folder. You'll need to call\n * check_job_status to determine if the action has completed successfully.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnshareFolder\n * @arg {SharingUnshareFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<SharingUnshareFolderError>>}\n */\n\n\nroutes.sharingUnshareFolder = function (arg) {\n return this.request('sharing/unshare_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Changes a member's access on a shared file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFileMember\n * @arg {SharingUpdateFileMemberArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingMemberAccessLevelResult>, DropboxResponseError.<SharingFileMemberActionError>>}\n */\n\n\nroutes.sharingUpdateFileMember = function (arg) {\n return this.request('sharing/update_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor of a shared folder to update another member's\n * permissions.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFolderMember\n * @arg {SharingUpdateFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingMemberAccessLevelResult>, DropboxResponseError.<SharingUpdateFolderMemberError>>}\n */\n\n\nroutes.sharingUpdateFolderMember = function (arg) {\n return this.request('sharing/update_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Update the sharing policies for a shared folder. User must have\n * AccessLevel.owner access to the shared folder to update its policies.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFolderPolicy\n * @arg {SharingUpdateFolderPolicyArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingUpdateFolderPolicyError>>}\n */\n\n\nroutes.sharingUpdateFolderPolicy = function (arg) {\n return this.request('sharing/update_folder_policy', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * List all device sessions of a team's member.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListMemberDevices\n * @arg {TeamListMemberDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMemberDevicesResult>, DropboxResponseError.<TeamListMemberDevicesError>>}\n */\n\n\nroutes.teamDevicesListMemberDevices = function (arg) {\n return this.request('team/devices/list_member_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all device sessions of a team. Permission : Team member file access.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListMembersDevices\n * @arg {TeamListMembersDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMembersDevicesResult>, DropboxResponseError.<TeamListMembersDevicesError>>}\n */\n\n\nroutes.teamDevicesListMembersDevices = function (arg) {\n return this.request('team/devices/list_members_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all device sessions of a team. Permission : Team member file access.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListTeamDevices\n * @deprecated\n * @arg {TeamListTeamDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListTeamDevicesResult>, DropboxResponseError.<TeamListTeamDevicesError>>}\n */\n\n\nroutes.teamDevicesListTeamDevices = function (arg) {\n return this.request('team/devices/list_team_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * Revoke a device session of a team's member.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamDevicesRevokeDeviceSession\n * @arg {TeamRevokeDeviceSessionArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamRevokeDeviceSessionError>>}\n */\n\n\nroutes.teamDevicesRevokeDeviceSession = function (arg) {\n return this.request('team/devices/revoke_device_session', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Revoke a list of device sessions of team members.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamDevicesRevokeDeviceSessionBatch\n * @arg {TeamRevokeDeviceSessionBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamRevokeDeviceSessionBatchResult>, DropboxResponseError.<TeamRevokeDeviceSessionBatchError>>}\n */\n\n\nroutes.teamDevicesRevokeDeviceSessionBatch = function (arg) {\n return this.request('team/devices/revoke_device_session_batch', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Get the values for one or more featues. This route allows you to check your\n * account's capability for what feature you can access or what value you have\n * for certain features. Permission : Team information.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamFeaturesGetValues\n * @arg {TeamFeaturesGetValuesBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamFeaturesGetValuesBatchResult>, DropboxResponseError.<TeamFeaturesGetValuesBatchError>>}\n */\n\n\nroutes.teamFeaturesGetValues = function (arg) {\n return this.request('team/features/get_values', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves information about a team.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamGetInfo\n * @returns {Promise.<DropboxResponse<TeamTeamGetInfoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamGetInfo = function () {\n return this.request('team/get_info', null, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Creates a new, empty group, with a requested name. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsCreate\n * @arg {TeamGroupCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupFullInfo>, DropboxResponseError.<TeamGroupCreateError>>}\n */\n\n\nroutes.teamGroupsCreate = function (arg) {\n return this.request('team/groups/create', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Deletes a group. The group is deleted immediately. However the revoking of\n * group-owned resources may take additional time. Use the groups/job_status/get\n * to determine whether this process has completed. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsDelete\n * @arg {TeamGroupSelector} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamGroupDeleteError>>}\n */\n\n\nroutes.teamGroupsDelete = function (arg) {\n return this.request('team/groups/delete', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Retrieves information about one or more groups. Note that the optional field\n * GroupFullInfo.members is not returned for system-managed groups. Permission :\n * Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsGetInfo\n * @arg {TeamGroupsSelector} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamGroupsGetInfoError>>}\n */\n\n\nroutes.teamGroupsGetInfo = function (arg) {\n return this.request('team/groups/get_info', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once an async_job_id is returned from groups/delete, groups/members/add , or\n * groups/members/remove use this method to poll the status of granting/revoking\n * group members' access to group-owned resources. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<TeamGroupsPollError>>}\n */\n\n\nroutes.teamGroupsJobStatusGet = function (arg) {\n return this.request('team/groups/job_status/get', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Lists groups on a team. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsList\n * @arg {TeamGroupsListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsListResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamGroupsList = function (arg) {\n return this.request('team/groups/list', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once a cursor has been retrieved from groups/list, use this to paginate\n * through all groups. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsListContinue\n * @arg {TeamGroupsListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsListResult>, DropboxResponseError.<TeamGroupsListContinueError>>}\n */\n\n\nroutes.teamGroupsListContinue = function (arg) {\n return this.request('team/groups/list/continue', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Adds members to a group. The members are added immediately. However the\n * granting of group-owned resources may take additional time. Use the\n * groups/job_status/get to determine whether this process has completed.\n * Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersAdd\n * @arg {TeamGroupMembersAddArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupMembersChangeResult>, DropboxResponseError.<TeamGroupMembersAddError>>}\n */\n\n\nroutes.teamGroupsMembersAdd = function (arg) {\n return this.request('team/groups/members/add', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Lists members of a group. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsMembersList\n * @arg {TeamGroupsMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsMembersListResult>, DropboxResponseError.<TeamGroupSelectorError>>}\n */\n\n\nroutes.teamGroupsMembersList = function (arg) {\n return this.request('team/groups/members/list', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once a cursor has been retrieved from groups/members/list, use this to\n * paginate through all members of the group. Permission : Team information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsMembersListContinue\n * @arg {TeamGroupsMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsMembersListResult>, DropboxResponseError.<TeamGroupsMembersListContinueError>>}\n */\n\n\nroutes.teamGroupsMembersListContinue = function (arg) {\n return this.request('team/groups/members/list/continue', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Removes members from a group. The members are removed immediately. However\n * the revoking of group-owned resources may take additional time. Use the\n * groups/job_status/get to determine whether this process has completed. This\n * method permits removing the only owner of a group, even in cases where this\n * is not possible via the web client. Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersRemove\n * @arg {TeamGroupMembersRemoveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupMembersChangeResult>, DropboxResponseError.<TeamGroupMembersRemoveError>>}\n */\n\n\nroutes.teamGroupsMembersRemove = function (arg) {\n return this.request('team/groups/members/remove', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Sets a member's access type in a group. Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersSetAccessType\n * @arg {TeamGroupMembersSetAccessTypeArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamGroupMemberSetAccessTypeError>>}\n */\n\n\nroutes.teamGroupsMembersSetAccessType = function (arg) {\n return this.request('team/groups/members/set_access_type', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Updates a group's name and/or external ID. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsUpdate\n * @arg {TeamGroupUpdateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupFullInfo>, DropboxResponseError.<TeamGroupUpdateError>>}\n */\n\n\nroutes.teamGroupsUpdate = function (arg) {\n return this.request('team/groups/update', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Creates new legal hold policy. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsCreatePolicy\n * @arg {TeamLegalHoldsPolicyCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsPolicyCreateError>>}\n */\n\n\nroutes.teamLegalHoldsCreatePolicy = function (arg) {\n return this.request('team/legal_holds/create_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Gets a legal hold by Id. Note: Legal Holds is a paid add-on. Not all teams\n * have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsGetPolicy\n * @arg {TeamLegalHoldsGetPolicyArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsGetPolicyError>>}\n */\n\n\nroutes.teamLegalHoldsGetPolicy = function (arg) {\n return this.request('team/legal_holds/get_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * List the file metadata that's under the hold. Note: Legal Holds is a paid\n * add-on. Not all teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListHeldRevisions\n * @arg {TeamLegalHoldsListHeldRevisionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListHeldRevisionResult>, DropboxResponseError.<TeamLegalHoldsListHeldRevisionsError>>}\n */\n\n\nroutes.teamLegalHoldsListHeldRevisions = function (arg) {\n return this.request('team/legal_holds/list_held_revisions', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Continue listing the file metadata that's under the hold. Note: Legal Holds\n * is a paid add-on. Not all teams have the feature. Permission : Team member\n * file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListHeldRevisionsContinue\n * @arg {TeamLegalHoldsListHeldRevisionsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListHeldRevisionResult>, DropboxResponseError.<TeamLegalHoldsListHeldRevisionsError>>}\n */\n\n\nroutes.teamLegalHoldsListHeldRevisionsContinue = function (arg) {\n return this.request('team/legal_holds/list_held_revisions_continue', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Lists legal holds on a team. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListPolicies\n * @arg {TeamLegalHoldsListPoliciesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListPoliciesResult>, DropboxResponseError.<TeamLegalHoldsListPoliciesError>>}\n */\n\n\nroutes.teamLegalHoldsListPolicies = function (arg) {\n return this.request('team/legal_holds/list_policies', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Releases a legal hold by Id. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsReleasePolicy\n * @arg {TeamLegalHoldsPolicyReleaseArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamLegalHoldsPolicyReleaseError>>}\n */\n\n\nroutes.teamLegalHoldsReleasePolicy = function (arg) {\n return this.request('team/legal_holds/release_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Updates a legal hold. Note: Legal Holds is a paid add-on. Not all teams have\n * the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsUpdatePolicy\n * @arg {TeamLegalHoldsPolicyUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsPolicyUpdateError>>}\n */\n\n\nroutes.teamLegalHoldsUpdatePolicy = function (arg) {\n return this.request('team/legal_holds/update_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * List all linked applications of the team member. Note, this endpoint does not\n * list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListMemberLinkedApps\n * @arg {TeamListMemberAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMemberAppsResult>, DropboxResponseError.<TeamListMemberAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListMemberLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_member_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all applications linked to the team members' accounts. Note, this\n * endpoint does not list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListMembersLinkedApps\n * @arg {TeamListMembersAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMembersAppsResult>, DropboxResponseError.<TeamListMembersAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListMembersLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_members_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all applications linked to the team members' accounts. Note, this\n * endpoint doesn't list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListTeamLinkedApps\n * @deprecated\n * @arg {TeamListTeamAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListTeamAppsResult>, DropboxResponseError.<TeamListTeamAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListTeamLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_team_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * Revoke a linked application of the team member.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamLinkedAppsRevokeLinkedApp\n * @arg {TeamRevokeLinkedApiAppArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamRevokeLinkedAppError>>}\n */\n\n\nroutes.teamLinkedAppsRevokeLinkedApp = function (arg) {\n return this.request('team/linked_apps/revoke_linked_app', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Revoke a list of linked applications of the team members.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamLinkedAppsRevokeLinkedAppBatch\n * @arg {TeamRevokeLinkedApiAppBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamRevokeLinkedAppBatchResult>, DropboxResponseError.<TeamRevokeLinkedAppBatchError>>}\n */\n\n\nroutes.teamLinkedAppsRevokeLinkedAppBatch = function (arg) {\n return this.request('team/linked_apps/revoke_linked_app_batch', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Add users to member space limits excluded users list.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersAdd\n * @arg {TeamExcludedUsersUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersUpdateResult>, DropboxResponseError.<TeamExcludedUsersUpdateError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersAdd = function (arg) {\n return this.request('team/member_space_limits/excluded_users/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * List member space limits excluded users.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersList\n * @arg {TeamExcludedUsersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersListResult>, DropboxResponseError.<TeamExcludedUsersListError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersList = function (arg) {\n return this.request('team/member_space_limits/excluded_users/list', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Continue listing member space limits excluded users.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersListContinue\n * @arg {TeamExcludedUsersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersListResult>, DropboxResponseError.<TeamExcludedUsersListContinueError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersListContinue = function (arg) {\n return this.request('team/member_space_limits/excluded_users/list/continue', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Remove users from member space limits excluded users list.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersRemove\n * @arg {TeamExcludedUsersUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersUpdateResult>, DropboxResponseError.<TeamExcludedUsersUpdateError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersRemove = function (arg) {\n return this.request('team/member_space_limits/excluded_users/remove', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Get users custom quota. Returns none as the custom quota if none was set. A\n * maximum of 1000 members can be specified in a single call.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsGetCustomQuota\n * @arg {TeamCustomQuotaUsersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamCustomQuotaResult>>, DropboxResponseError.<TeamCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsGetCustomQuota = function (arg) {\n return this.request('team/member_space_limits/get_custom_quota', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Remove users custom quota. A maximum of 1000 members can be specified in a\n * single call.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsRemoveCustomQuota\n * @arg {TeamCustomQuotaUsersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamRemoveCustomQuotaResult>>, DropboxResponseError.<TeamCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsRemoveCustomQuota = function (arg) {\n return this.request('team/member_space_limits/remove_custom_quota', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Set users custom quota. Custom quota has to be at least 15GB. A maximum of\n * 1000 members can be specified in a single call.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsSetCustomQuota\n * @arg {TeamSetCustomQuotaArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamCustomQuotaResult>>, DropboxResponseError.<TeamSetCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsSetCustomQuota = function (arg) {\n return this.request('team/member_space_limits/set_custom_quota', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Adds members to a team. Permission : Team member management A maximum of 20\n * members can be specified in a single call. If no Dropbox account exists with\n * the email address specified, a new Dropbox account will be created with the\n * given email address, and that account will be invited to the team. If a\n * personal Dropbox account exists with the email address specified in the call,\n * this call will create a placeholder Dropbox account for the user on the team\n * and send an email inviting the user to migrate their existing personal\n * account onto the team. Team member management apps are required to set an\n * initial given_name and surname for a user to use in the team invitation and\n * for 'Perform as team member' actions taken on the user before they become\n * 'active'.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddV2\n * @arg {TeamMembersAddV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddLaunchV2Result>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersAddV2 = function (arg) {\n return this.request('team/members/add_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Adds members to a team. Permission : Team member management A maximum of 20\n * members can be specified in a single call. If no Dropbox account exists with\n * the email address specified, a new Dropbox account will be created with the\n * given email address, and that account will be invited to the team. If a\n * personal Dropbox account exists with the email address specified in the call,\n * this call will create a placeholder Dropbox account for the user on the team\n * and send an email inviting the user to migrate their existing personal\n * account onto the team. Team member management apps are required to set an\n * initial given_name and surname for a user to use in the team invitation and\n * for 'Perform as team member' actions taken on the user before they become\n * 'active'.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAdd\n * @arg {TeamMembersAddArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersAdd = function (arg) {\n return this.request('team/members/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/add_v2 , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddJobStatusGetV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddJobStatusV2Result>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersAddJobStatusGetV2 = function (arg) {\n return this.request('team/members/add/job_status/get_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/add , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersAddJobStatusGet = function (arg) {\n return this.request('team/members/add/job_status/get', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Deletes a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersDeleteProfilePhotoV2\n * @arg {TeamMembersDeleteProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersDeleteProfilePhotoError>>}\n */\n\n\nroutes.teamMembersDeleteProfilePhotoV2 = function (arg) {\n return this.request('team/members/delete_profile_photo_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Deletes a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersDeleteProfilePhoto\n * @arg {TeamMembersDeleteProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersDeleteProfilePhotoError>>}\n */\n\n\nroutes.teamMembersDeleteProfilePhoto = function (arg) {\n return this.request('team/members/delete_profile_photo', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Get available TeamMemberRoles for the connected team. To be used with\n * members/set_admin_permissions_v2. Permission : Team member management.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetAvailableTeamMemberRoles\n * @returns {Promise.<DropboxResponse<TeamMembersGetAvailableTeamMemberRolesResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersGetAvailableTeamMemberRoles = function () {\n return this.request('team/members/get_available_team_member_roles', null, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Returns information about multiple team members. Permission : Team\n * information This endpoint will return MembersGetInfoItem.id_not_found, for\n * IDs (or emails) that cannot be matched to a valid team member.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetInfoV2\n * @arg {TeamMembersGetInfoV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersGetInfoV2Result>, DropboxResponseError.<TeamMembersGetInfoError>>}\n */\n\n\nroutes.teamMembersGetInfoV2 = function (arg) {\n return this.request('team/members/get_info_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Returns information about multiple team members. Permission : Team\n * information This endpoint will return MembersGetInfoItem.id_not_found, for\n * IDs (or emails) that cannot be matched to a valid team member.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetInfo\n * @arg {TeamMembersGetInfoArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamMembersGetInfoError>>}\n */\n\n\nroutes.teamMembersGetInfo = function (arg) {\n return this.request('team/members/get_info', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Lists members of a team. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListV2\n * @arg {TeamMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListV2Result>, DropboxResponseError.<TeamMembersListError>>}\n */\n\n\nroutes.teamMembersListV2 = function (arg) {\n return this.request('team/members/list_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Lists members of a team. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersList\n * @arg {TeamMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListResult>, DropboxResponseError.<TeamMembersListError>>}\n */\n\n\nroutes.teamMembersList = function (arg) {\n return this.request('team/members/list', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Once a cursor has been retrieved from members/list_v2, use this to paginate\n * through all team members. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListContinueV2\n * @arg {TeamMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListV2Result>, DropboxResponseError.<TeamMembersListContinueError>>}\n */\n\n\nroutes.teamMembersListContinueV2 = function (arg) {\n return this.request('team/members/list/continue_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Once a cursor has been retrieved from members/list, use this to paginate\n * through all team members. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListContinue\n * @arg {TeamMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListResult>, DropboxResponseError.<TeamMembersListContinueError>>}\n */\n\n\nroutes.teamMembersListContinue = function (arg) {\n return this.request('team/members/list/continue', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Moves removed member's files to a different member. This endpoint initiates\n * an asynchronous job. To obtain the final result of the job, the client should\n * periodically poll members/move_former_member_files/job_status/check.\n * Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersMoveFormerMemberFiles\n * @arg {TeamMembersDataTransferArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamMembersTransferFormerMembersFilesError>>}\n */\n\n\nroutes.teamMembersMoveFormerMemberFiles = function (arg) {\n return this.request('team/members/move_former_member_files', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/move_former_member_files , use\n * this to poll the status of the asynchronous request. Permission : Team member\n * management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersMoveFormerMemberFilesJobStatusCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersMoveFormerMemberFilesJobStatusCheck = function (arg) {\n return this.request('team/members/move_former_member_files/job_status/check', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Recover a deleted member. Permission : Team member management Exactly one of\n * team_member_id, email, or external_id must be provided to identify the user\n * account.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRecover\n * @arg {TeamMembersRecoverArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersRecoverError>>}\n */\n\n\nroutes.teamMembersRecover = function (arg) {\n return this.request('team/members/recover', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Removes a member from a team. Permission : Team member management Exactly one\n * of team_member_id, email, or external_id must be provided to identify the\n * user account. Accounts can be recovered via members/recover for a 7 day\n * period or until the account has been permanently deleted or transferred to\n * another account (whichever comes first). Calling members/add while a user is\n * still recoverable on your team will return with\n * MemberAddResult.user_already_on_team. Accounts can have their files\n * transferred via the admin console for a limited time, based on the version\n * history length associated with the team (180 days for most teams). This\n * endpoint may initiate an asynchronous job. To obtain the final result of the\n * job, the client should periodically poll members/remove/job_status/get.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRemove\n * @arg {TeamMembersRemoveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamMembersRemoveError>>}\n */\n\n\nroutes.teamMembersRemove = function (arg) {\n return this.request('team/members/remove', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Once an async_job_id is returned from members/remove , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRemoveJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersRemoveJobStatusGet = function (arg) {\n return this.request('team/members/remove/job_status/get', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Add secondary emails to users. Permission : Team member management. Emails\n * that are on verified domains will be verified automatically. For each email\n * address not on a verified domain a verification email will be sent.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsAdd\n * @arg {TeamAddSecondaryEmailsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamAddSecondaryEmailsResult>, DropboxResponseError.<TeamAddSecondaryEmailsError>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsAdd = function (arg) {\n return this.request('team/members/secondary_emails/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Delete secondary emails from users Permission : Team member management. Users\n * will be notified of deletions of verified secondary emails at both the\n * secondary email and their primary email.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsDelete\n * @arg {TeamDeleteSecondaryEmailsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamDeleteSecondaryEmailsResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsDelete = function (arg) {\n return this.request('team/members/secondary_emails/delete', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Resend secondary email verification emails. Permission : Team member\n * management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsResendVerificationEmails\n * @arg {TeamResendVerificationEmailArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamResendVerificationEmailResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsResendVerificationEmails = function (arg) {\n return this.request('team/members/secondary_emails/resend_verification_emails', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Sends welcome email to pending team member. Permission : Team member\n * management Exactly one of team_member_id, email, or external_id must be\n * provided to identify the user account. No-op if team member is not pending.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSendWelcomeEmail\n * @arg {TeamUserSelectorArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersSendWelcomeError>>}\n */\n\n\nroutes.teamMembersSendWelcomeEmail = function (arg) {\n return this.request('team/members/send_welcome_email', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's permissions. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetAdminPermissionsV2\n * @arg {TeamMembersSetPermissions2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersSetPermissions2Result>, DropboxResponseError.<TeamMembersSetPermissions2Error>>}\n */\n\n\nroutes.teamMembersSetAdminPermissionsV2 = function (arg) {\n return this.request('team/members/set_admin_permissions_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's permissions. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetAdminPermissions\n * @arg {TeamMembersSetPermissionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersSetPermissionsResult>, DropboxResponseError.<TeamMembersSetPermissionsError>>}\n */\n\n\nroutes.teamMembersSetAdminPermissions = function (arg) {\n return this.request('team/members/set_admin_permissions', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfileV2\n * @arg {TeamMembersSetProfileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersSetProfileError>>}\n */\n\n\nroutes.teamMembersSetProfileV2 = function (arg) {\n return this.request('team/members/set_profile_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfile\n * @arg {TeamMembersSetProfileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersSetProfileError>>}\n */\n\n\nroutes.teamMembersSetProfile = function (arg) {\n return this.request('team/members/set_profile', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfilePhotoV2\n * @arg {TeamMembersSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersSetProfilePhotoError>>}\n */\n\n\nroutes.teamMembersSetProfilePhotoV2 = function (arg) {\n return this.request('team/members/set_profile_photo_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfilePhoto\n * @arg {TeamMembersSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersSetProfilePhotoError>>}\n */\n\n\nroutes.teamMembersSetProfilePhoto = function (arg) {\n return this.request('team/members/set_profile_photo', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Suspend a member from a team. Permission : Team member management Exactly one\n * of team_member_id, email, or external_id must be provided to identify the\n * user account.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSuspend\n * @arg {TeamMembersDeactivateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersSuspendError>>}\n */\n\n\nroutes.teamMembersSuspend = function (arg) {\n return this.request('team/members/suspend', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Unsuspend a member from a team. Permission : Team member management Exactly\n * one of team_member_id, email, or external_id must be provided to identify the\n * user account.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersUnsuspend\n * @arg {TeamMembersUnsuspendArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersUnsuspendError>>}\n */\n\n\nroutes.teamMembersUnsuspend = function (arg) {\n return this.request('team/members/unsuspend', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Returns a list of all team-accessible namespaces. This list includes team\n * folders, shared folders containing team members, team members' home\n * namespaces, and team members' app folders. Home namespaces and app folders\n * are always owned by this team or members of the team, but shared folders may\n * be owned by other users or other teams. Duplicates may occur in the list.\n * Route attributes:\n * scope: team_data.member\n * @function Dropbox#teamNamespacesList\n * @arg {TeamTeamNamespacesListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamNamespacesListResult>, DropboxResponseError.<TeamTeamNamespacesListError>>}\n */\n\n\nroutes.teamNamespacesList = function (arg) {\n return this.request('team/namespaces/list', arg, 'team', 'api', 'rpc', 'team_data.member');\n};\n/**\n * Once a cursor has been retrieved from namespaces/list, use this to paginate\n * through all team-accessible namespaces. Duplicates may occur in the list.\n * Route attributes:\n * scope: team_data.member\n * @function Dropbox#teamNamespacesListContinue\n * @arg {TeamTeamNamespacesListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamNamespacesListResult>, DropboxResponseError.<TeamTeamNamespacesListContinueError>>}\n */\n\n\nroutes.teamNamespacesListContinue = function (arg) {\n return this.request('team/namespaces/list/continue', arg, 'team', 'api', 'rpc', 'team_data.member');\n};\n/**\n * Permission : Team member file access.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateAdd\n * @deprecated\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateAdd = function (arg) {\n return this.request('team/properties/template/add', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access. The scope for the route is\n * files.team_metadata.write.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateGet\n * @deprecated\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateGet = function (arg) {\n return this.request('team/properties/template/get', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access. The scope for the route is\n * files.team_metadata.write.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateList\n * @deprecated\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateList = function () {\n return this.request('team/properties/template/list', null, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateUpdate\n * @deprecated\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateUpdate = function (arg) {\n return this.request('team/properties/template/update', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Retrieves reporting data about a team's user activity. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetActivity\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetActivityReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetActivity = function (arg) {\n return this.request('team/reports/get_activity', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's linked devices. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetDevices\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetDevicesReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetDevices = function (arg) {\n return this.request('team/reports/get_devices', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's membership. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetMembership\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetMembershipReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetMembership = function (arg) {\n return this.request('team/reports/get_membership', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's storage usage. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetStorage\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetStorageReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetStorage = function (arg) {\n return this.request('team/reports/get_storage', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Endpoint adds Approve List entries. Changes are effective immediately.\n * Changes are committed in transaction. In case of single validation error -\n * all entries are rejected. Valid domains (RFC-1034/5) and emails\n * (RFC-5322/822) are accepted. Added entries cannot overflow limit of 10000\n * entries per team. Maximum 100 entries per call is allowed.\n * Route attributes:\n * scope: team_info.write\n * @function Dropbox#teamSharingAllowlistAdd\n * @arg {TeamSharingAllowlistAddArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistAddResponse>, DropboxResponseError.<TeamSharingAllowlistAddError>>}\n */\n\n\nroutes.teamSharingAllowlistAdd = function (arg) {\n return this.request('team/sharing_allowlist/add', arg, 'team', 'api', 'rpc', 'team_info.write');\n};\n/**\n * Lists Approve List entries for given team, from newest to oldest, returning\n * up to `limit` entries at a time. If there are more than `limit` entries\n * associated with the current team, more can be fetched by passing the returned\n * `cursor` to sharing_allowlist/list/continue.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamSharingAllowlistList\n * @arg {TeamSharingAllowlistListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistListResponse>, DropboxResponseError.<TeamSharingAllowlistListError>>}\n */\n\n\nroutes.teamSharingAllowlistList = function (arg) {\n return this.request('team/sharing_allowlist/list', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Lists entries associated with given team, starting from a the cursor. See\n * sharing_allowlist/list.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamSharingAllowlistListContinue\n * @arg {TeamSharingAllowlistListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistListResponse>, DropboxResponseError.<TeamSharingAllowlistListContinueError>>}\n */\n\n\nroutes.teamSharingAllowlistListContinue = function (arg) {\n return this.request('team/sharing_allowlist/list/continue', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Endpoint removes Approve List entries. Changes are effective immediately.\n * Changes are committed in transaction. In case of single validation error -\n * all entries are rejected. Valid domains (RFC-1034/5) and emails\n * (RFC-5322/822) are accepted. Entries being removed have to be present on the\n * list. Maximum 1000 entries per call is allowed.\n * Route attributes:\n * scope: team_info.write\n * @function Dropbox#teamSharingAllowlistRemove\n * @arg {TeamSharingAllowlistRemoveArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistRemoveResponse>, DropboxResponseError.<TeamSharingAllowlistRemoveError>>}\n */\n\n\nroutes.teamSharingAllowlistRemove = function (arg) {\n return this.request('team/sharing_allowlist/remove', arg, 'team', 'api', 'rpc', 'team_info.write');\n};\n/**\n * Sets an archived team folder's status to active. Permission : Team member\n * file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderActivate\n * @arg {TeamTeamFolderIdArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderActivateError>>}\n */\n\n\nroutes.teamTeamFolderActivate = function (arg) {\n return this.request('team/team_folder/activate', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Sets an active team folder's status to archived and removes all folder and\n * file members. This endpoint cannot be used for teams that have a shared team\n * space. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderArchive\n * @arg {TeamTeamFolderArchiveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderArchiveLaunch>, DropboxResponseError.<TeamTeamFolderArchiveError>>}\n */\n\n\nroutes.teamTeamFolderArchive = function (arg) {\n return this.request('team/team_folder/archive', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Returns the status of an asynchronous job for archiving a team folder.\n * Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderArchiveCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderArchiveJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamTeamFolderArchiveCheck = function (arg) {\n return this.request('team/team_folder/archive/check', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Creates a new, active, team folder with no members. This endpoint can only be\n * used for teams that do not already have a shared team space. Permission :\n * Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderCreate\n * @arg {TeamTeamFolderCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderCreateError>>}\n */\n\n\nroutes.teamTeamFolderCreate = function (arg) {\n return this.request('team/team_folder/create', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Retrieves metadata for team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderGetInfo\n * @arg {TeamTeamFolderIdListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamTeamFolderGetInfoItem>>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamTeamFolderGetInfo = function (arg) {\n return this.request('team/team_folder/get_info', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Lists all team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderList\n * @arg {TeamTeamFolderListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderListResult>, DropboxResponseError.<TeamTeamFolderListError>>}\n */\n\n\nroutes.teamTeamFolderList = function (arg) {\n return this.request('team/team_folder/list', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Once a cursor has been retrieved from team_folder/list, use this to paginate\n * through all team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderListContinue\n * @arg {TeamTeamFolderListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderListResult>, DropboxResponseError.<TeamTeamFolderListContinueError>>}\n */\n\n\nroutes.teamTeamFolderListContinue = function (arg) {\n return this.request('team/team_folder/list/continue', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Permanently deletes an archived team folder. This endpoint cannot be used for\n * teams that have a shared team space. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderPermanentlyDelete\n * @arg {TeamTeamFolderIdArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamTeamFolderPermanentlyDeleteError>>}\n */\n\n\nroutes.teamTeamFolderPermanentlyDelete = function (arg) {\n return this.request('team/team_folder/permanently_delete', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Changes an active team folder's name. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderRename\n * @arg {TeamTeamFolderRenameArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderRenameError>>}\n */\n\n\nroutes.teamTeamFolderRename = function (arg) {\n return this.request('team/team_folder/rename', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Updates the sync settings on a team folder or its contents. Use of this\n * endpoint requires that the team has team selective sync enabled.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderUpdateSyncSettings\n * @arg {TeamTeamFolderUpdateSyncSettingsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderUpdateSyncSettingsError>>}\n */\n\n\nroutes.teamTeamFolderUpdateSyncSettings = function (arg) {\n return this.request('team/team_folder/update_sync_settings', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Returns the member profile of the admin who generated the team access token\n * used to make the call.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamTokenGetAuthenticatedAdmin\n * @returns {Promise.<DropboxResponse<TeamTokenGetAuthenticatedAdminResult>, DropboxResponseError.<TeamTokenGetAuthenticatedAdminError>>}\n */\n\n\nroutes.teamTokenGetAuthenticatedAdmin = function () {\n return this.request('team/token/get_authenticated_admin', null, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves team events. If the result's GetTeamEventsResult.has_more field is\n * true, call get_events/continue with the returned cursor to retrieve more\n * entries. If end_time is not specified in your request, you may use the\n * returned cursor to poll get_events/continue for new events. Many attributes\n * note 'may be missing due to historical data gap'. Note that the\n * file_operations category and & analogous paper events are not available on\n * all Dropbox Business plans /business/plans-comparison. Use\n * features/get_values\n * /developers/documentation/http/teams#team-features-get_values to check for\n * this feature. Permission : Team Auditing.\n * Route attributes:\n * scope: events.read\n * @function Dropbox#teamLogGetEvents\n * @arg {TeamLogGetTeamEventsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLogGetTeamEventsResult>, DropboxResponseError.<TeamLogGetTeamEventsError>>}\n */\n\n\nroutes.teamLogGetEvents = function (arg) {\n return this.request('team_log/get_events', arg, 'team', 'api', 'rpc', 'events.read');\n};\n/**\n * Once a cursor has been retrieved from get_events, use this to paginate\n * through all events. Permission : Team Auditing.\n * Route attributes:\n * scope: events.read\n * @function Dropbox#teamLogGetEventsContinue\n * @arg {TeamLogGetTeamEventsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLogGetTeamEventsResult>, DropboxResponseError.<TeamLogGetTeamEventsContinueError>>}\n */\n\n\nroutes.teamLogGetEventsContinue = function (arg) {\n return this.request('team_log/get_events/continue', arg, 'team', 'api', 'rpc', 'events.read');\n};\n/**\n * Get a list of feature values that may be configured for the current account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersFeaturesGetValues\n * @arg {UsersUserFeaturesGetValuesBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<UsersUserFeaturesGetValuesBatchResult>, DropboxResponseError.<UsersUserFeaturesGetValuesBatchError>>}\n */\n\n\nroutes.usersFeaturesGetValues = function (arg) {\n return this.request('users/features/get_values', arg, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Get information about a user's account.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#usersGetAccount\n * @arg {UsersGetAccountArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<UsersBasicAccount>, DropboxResponseError.<UsersGetAccountError>>}\n */\n\n\nroutes.usersGetAccount = function (arg) {\n return this.request('users/get_account', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get information about multiple user accounts. At most 300 accounts may be\n * queried per request.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#usersGetAccountBatch\n * @arg {UsersGetAccountBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<UsersGetAccountBatchError>>}\n */\n\n\nroutes.usersGetAccountBatch = function (arg) {\n return this.request('users/get_account_batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get information about the current user's account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersGetCurrentAccount\n * @returns {Promise.<DropboxResponse<UsersFullAccount>, DropboxResponseError.<void>>}\n */\n\n\nroutes.usersGetCurrentAccount = function () {\n return this.request('users/get_current_account', null, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Get the space usage information for the current user's account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersGetSpaceUsage\n * @returns {Promise.<DropboxResponse<UsersSpaceUsage>, DropboxResponseError.<void>>}\n */\n\n\nroutes.usersGetSpaceUsage = function () {\n return this.request('users/get_space_usage', null, 'user', 'api', 'rpc', 'account_info.read');\n};\n\nexport { routes };","import { DEFAULT_API_DOMAIN, DEFAULT_DOMAIN, TEST_DOMAIN_MAPPINGS } from './constants';\n\nfunction getSafeUnicode(c) {\n var unicode = \"000\".concat(c.charCodeAt(0).toString(16)).slice(-4);\n return \"\\\\u\".concat(unicode);\n}\n\nexport var baseApiUrl = function baseApiUrl(subdomain) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_API_DOMAIN;\n var domainDelimiter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n\n if (!domainDelimiter) {\n return \"https://\".concat(domain, \"/2/\");\n }\n\n if (domain !== DEFAULT_API_DOMAIN && TEST_DOMAIN_MAPPINGS[subdomain] !== undefined) {\n subdomain = TEST_DOMAIN_MAPPINGS[subdomain];\n domainDelimiter = '-';\n }\n\n return \"https://\".concat(subdomain).concat(domainDelimiter).concat(domain, \"/2/\");\n};\nexport var OAuth2AuthorizationUrl = function OAuth2AuthorizationUrl() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_DOMAIN;\n\n if (domain !== DEFAULT_DOMAIN) {\n domain = \"meta-\".concat(domain);\n }\n\n return \"https://\".concat(domain, \"/oauth2/authorize\");\n};\nexport var OAuth2TokenUrl = function OAuth2TokenUrl() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_API_DOMAIN;\n var domainDelimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.';\n var subdomain = 'api';\n\n if (domain !== DEFAULT_API_DOMAIN) {\n subdomain = TEST_DOMAIN_MAPPINGS[subdomain];\n domainDelimiter = '-';\n }\n\n return \"https://\".concat(subdomain).concat(domainDelimiter).concat(domain, \"/oauth2/token\");\n}; // source https://www.dropboxforum.com/t5/API-support/HTTP-header-quot-Dropbox-API-Arg-quot-could-not-decode-input-as/m-p/173823/highlight/true#M6786\n\nexport function httpHeaderSafeJson(args) {\n return JSON.stringify(args).replace(/[\\u007f-\\uffff]/g, getSafeUnicode);\n}\nexport function getTokenExpiresAtDate(expiresIn) {\n return new Date(Date.now() + expiresIn * 1000);\n}\n/* global WorkerGlobalScope */\n\nexport function isWindowOrWorker() {\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope // eslint-disable-line no-restricted-globals\n || typeof module === 'undefined' || typeof window !== 'undefined';\n}\nexport function isBrowserEnv() {\n return typeof window !== 'undefined';\n}\nexport function isWorkerEnv() {\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; // eslint-disable-line no-restricted-globals\n}\nexport function createBrowserSafeString(toBeConverted) {\n var convertedString = toBeConverted.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n return convertedString;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * The response class of HTTP errors from API calls using the Dropbox SDK.\n * @class DropboxResponseError\n * @classdesc The response class of HTTP errors from API calls using the Dropbox SDK.\n * @arg {number} status - HTTP Status code of the call\n * @arg {Object} headers - Headers returned from the call\n * @arg {Object} error - Serialized Error of the call\n */\nexport var DropboxResponseError = /*#__PURE__*/function (_Error) {\n _inherits(DropboxResponseError, _Error);\n\n var _super = _createSuper(DropboxResponseError);\n\n function DropboxResponseError(status, headers, error) {\n var _this;\n\n _classCallCheck(this, DropboxResponseError);\n\n _this = _super.call(this, \"Response failed with a \".concat(status, \" code\"));\n _this.name = 'DropboxResponseError';\n _this.status = status;\n _this.headers = headers;\n _this.error = error;\n return _this;\n }\n\n return DropboxResponseError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isWindowOrWorker } from './utils.js';\nimport { DropboxResponseError } from './error.js';\nexport var DropboxResponse = function DropboxResponse(status, headers, result) {\n _classCallCheck(this, DropboxResponse);\n\n this.status = status;\n this.headers = headers;\n this.result = result;\n};\n\nfunction throwAsError(res) {\n return res.text().then(function (data) {\n var errorObject;\n\n try {\n errorObject = JSON.parse(data);\n } catch (error) {\n errorObject = data;\n }\n\n throw new DropboxResponseError(res.status, res.headers, errorObject);\n });\n}\n\nexport function parseResponse(res) {\n if (!res.ok) {\n return throwAsError(res);\n }\n\n return res.text().then(function (data) {\n var responseObject;\n\n try {\n responseObject = JSON.parse(data);\n } catch (error) {\n responseObject = data;\n }\n\n return new DropboxResponse(res.status, res.headers, responseObject);\n });\n}\nexport function parseDownloadResponse(res) {\n if (!res.ok) {\n return throwAsError(res);\n }\n\n return new Promise(function (resolve) {\n if (isWindowOrWorker()) {\n res.blob().then(function (data) {\n return resolve(data);\n });\n } else {\n res.buffer().then(function (data) {\n return resolve(data);\n });\n }\n }).then(function (data) {\n var result = JSON.parse(res.headers.get('dropbox-api-result'));\n\n if (isWindowOrWorker()) {\n result.fileBlob = data;\n } else {\n result.fileBinary = data;\n }\n\n return new DropboxResponse(res.status, res.headers, result);\n });\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { getTokenExpiresAtDate, isBrowserEnv, createBrowserSafeString, OAuth2AuthorizationUrl, OAuth2TokenUrl, isWorkerEnv } from './utils.js';\nimport { parseResponse } from './response.js';\nvar fetch;\nvar crypto;\nvar Encoder; // Expiration is 300 seconds but needs to be in milliseconds for Date object\n\nvar TokenExpirationBuffer = 300 * 1000;\nvar PKCELength = 128;\nvar TokenAccessTypes = ['legacy', 'offline', 'online'];\nvar GrantTypes = ['code', 'token'];\nvar IncludeGrantedScopes = ['none', 'user', 'team'];\n/**\n * @class DropboxAuth\n * @classdesc The DropboxAuth class that provides methods to manage, acquire, and refresh tokens.\n * @arg {Object} options\n * @arg {Function} [options.fetch] - fetch library for making requests.\n * @arg {String} [options.accessToken] - An access token for making authenticated\n * requests.\n * @arg {Date} [options.AccessTokenExpiresAt] - Date of the current access token's\n * expiration (if available)\n * @arg {String} [options.refreshToken] - A refresh token for retrieving access tokens\n * @arg {String} [options.clientId] - The client id for your app. Used to create\n * authentication URL.\n * @arg {String} [options.clientSecret] - The client secret for your app. Used to create\n * authentication URL and refresh access tokens.\n * @arg {String} [options.domain] - A custom domain to use when making api requests. This\n * should only be used for testing as scaffolding to avoid making network requests.\n * @arg {String} [options.domainDelimiter] - A custom delimiter to use when separating domain from\n * subdomain. This should only be used for testing as scaffolding.\n * @arg {Object} [options.customHeaders] - An object (in the form of header: value) designed to set\n * custom headers to use during a request.\n * @arg {Boolean} [options.dataOnBody] - Whether request data is sent on body or as URL params.\n * Defaults to false.\n*/\n\nvar DropboxAuth = /*#__PURE__*/function () {\n function DropboxAuth(options) {\n _classCallCheck(this, DropboxAuth);\n\n options = options || {};\n\n if (isBrowserEnv()) {\n fetch = window.fetch.bind(window);\n crypto = window.crypto || window.msCrypto; // for IE11\n } else if (isWorkerEnv()) {\n /* eslint-disable no-restricted-globals */\n fetch = self.fetch.bind(self);\n crypto = self.crypto;\n /* eslint-enable no-restricted-globals */\n } else {\n fetch = require('node-fetch'); // eslint-disable-line global-require\n\n crypto = require('crypto'); // eslint-disable-line global-require\n }\n\n if (typeof TextEncoder === 'undefined') {\n Encoder = require('util').TextEncoder; // eslint-disable-line global-require\n } else {\n Encoder = TextEncoder;\n }\n\n this.fetch = options.fetch || fetch;\n this.accessToken = options.accessToken;\n this.accessTokenExpiresAt = options.accessTokenExpiresAt;\n this.refreshToken = options.refreshToken;\n this.clientId = options.clientId;\n this.clientSecret = options.clientSecret;\n this.domain = options.domain;\n this.domainDelimiter = options.domainDelimiter;\n this.customHeaders = options.customHeaders;\n this.dataOnBody = options.dataOnBody;\n }\n /**\n * Set the access token used to authenticate requests to the API.\n * @arg {String} accessToken - An access token\n * @returns {undefined}\n */\n\n\n _createClass(DropboxAuth, [{\n key: \"setAccessToken\",\n value: function setAccessToken(accessToken) {\n this.accessToken = accessToken;\n }\n /**\n * Get the access token\n * @returns {String} Access token\n */\n\n }, {\n key: \"getAccessToken\",\n value: function getAccessToken() {\n return this.accessToken;\n }\n /**\n * Set the client id, which is used to help gain an access token.\n * @arg {String} clientId - Your apps client id\n * @returns {undefined}\n */\n\n }, {\n key: \"setClientId\",\n value: function setClientId(clientId) {\n this.clientId = clientId;\n }\n /**\n * Get the client id\n * @returns {String} Client id\n */\n\n }, {\n key: \"getClientId\",\n value: function getClientId() {\n return this.clientId;\n }\n /**\n * Set the client secret\n * @arg {String} clientSecret - Your app's client secret\n * @returns {undefined}\n */\n\n }, {\n key: \"setClientSecret\",\n value: function setClientSecret(clientSecret) {\n this.clientSecret = clientSecret;\n }\n /**\n * Get the client secret\n * @returns {String} Client secret\n */\n\n }, {\n key: \"getClientSecret\",\n value: function getClientSecret() {\n return this.clientSecret;\n }\n /**\n * Gets the refresh token\n * @returns {String} Refresh token\n */\n\n }, {\n key: \"getRefreshToken\",\n value: function getRefreshToken() {\n return this.refreshToken;\n }\n /**\n * Sets the refresh token\n * @param refreshToken - A refresh token\n */\n\n }, {\n key: \"setRefreshToken\",\n value: function setRefreshToken(refreshToken) {\n this.refreshToken = refreshToken;\n }\n /**\n * Gets the access token's expiration date\n * @returns {Date} date of token expiration\n */\n\n }, {\n key: \"getAccessTokenExpiresAt\",\n value: function getAccessTokenExpiresAt() {\n return this.accessTokenExpiresAt;\n }\n /**\n * Sets the access token's expiration date\n * @param accessTokenExpiresAt - new expiration date\n */\n\n }, {\n key: \"setAccessTokenExpiresAt\",\n value: function setAccessTokenExpiresAt(accessTokenExpiresAt) {\n this.accessTokenExpiresAt = accessTokenExpiresAt;\n }\n /**\n * Sets the code verifier for PKCE flow\n * @param {String} codeVerifier - new code verifier\n */\n\n }, {\n key: \"setCodeVerifier\",\n value: function setCodeVerifier(codeVerifier) {\n this.codeVerifier = codeVerifier;\n }\n /**\n * Gets the code verifier for PKCE flow\n * @returns {String} - code verifier for PKCE\n */\n\n }, {\n key: \"getCodeVerifier\",\n value: function getCodeVerifier() {\n return this.codeVerifier;\n }\n }, {\n key: \"generateCodeChallenge\",\n value: function generateCodeChallenge() {\n var _this = this;\n\n var encoder = new Encoder();\n var codeData = encoder.encode(this.codeVerifier);\n var codeChallenge;\n\n if (isBrowserEnv() || isWorkerEnv()) {\n return crypto.subtle.digest('SHA-256', codeData).then(function (digestedHash) {\n var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(digestedHash)));\n codeChallenge = createBrowserSafeString(base64String).substr(0, 128);\n _this.codeChallenge = codeChallenge;\n });\n }\n\n var digestedHash = crypto.createHash('sha256').update(codeData).digest();\n codeChallenge = createBrowserSafeString(digestedHash);\n this.codeChallenge = codeChallenge;\n return Promise.resolve();\n }\n }, {\n key: \"generatePKCECodes\",\n value: function generatePKCECodes() {\n var codeVerifier;\n\n if (isBrowserEnv() || isWorkerEnv()) {\n var array = new Uint8Array(PKCELength);\n var randomValueArray = crypto.getRandomValues(array);\n var base64String = btoa(randomValueArray);\n codeVerifier = createBrowserSafeString(base64String).substr(0, 128);\n } else {\n var randomBytes = crypto.randomBytes(PKCELength);\n codeVerifier = createBrowserSafeString(randomBytes).substr(0, 128);\n }\n\n this.codeVerifier = codeVerifier;\n return this.generateCodeChallenge();\n }\n /**\n * Get a URL that can be used to authenticate users for the Dropbox API.\n * @arg {String} redirectUri - A URL to redirect the user to after\n * authenticating. This must be added to your app through the admin interface.\n * @arg {String} [state] - State that will be returned in the redirect URL to help\n * prevent cross site scripting attacks.\n * @arg {String} [authType] - auth type, defaults to 'token', other option is 'code'\n * @arg {String} [tokenAccessType] - type of token to request. From the following:\n * null - creates a token with the app default (either legacy or online)\n * legacy - creates one long-lived token with no expiration\n * online - create one short-lived token with an expiration\n * offline - create one short-lived token with an expiration with a refresh token\n * @arg {Array<String>} [scope] - scopes to request for the grant\n * @arg {String} [includeGrantedScopes] - whether or not to include previously granted scopes.\n * From the following:\n * user - include user scopes in the grant\n * team - include team scopes in the grant\n * Note: if this user has never linked the app, include_granted_scopes must be None\n * @arg {boolean} [usePKCE] - Whether or not to use Sha256 based PKCE. PKCE should be only use\n * on client apps which doesn't call your server. It is less secure than non-PKCE flow but\n * can be used if you are unable to safely retrieve your app secret\n * @returns {Promise<String>} - Url to send user to for Dropbox API authentication\n * returned in a promise\n */\n\n }, {\n key: \"getAuthenticationUrl\",\n value: function getAuthenticationUrl(redirectUri, state) {\n var _this2 = this;\n\n var authType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'token';\n var tokenAccessType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var scope = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n var includeGrantedScopes = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'none';\n var usePKCE = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n var clientId = this.getClientId();\n var baseUrl = OAuth2AuthorizationUrl(this.domain);\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n if (authType !== 'code' && !redirectUri) {\n throw new Error('A redirect uri is required.');\n }\n\n if (!GrantTypes.includes(authType)) {\n throw new Error('Authorization type must be code or token');\n }\n\n if (tokenAccessType && !TokenAccessTypes.includes(tokenAccessType)) {\n throw new Error('Token Access Type must be legacy, offline, or online');\n }\n\n if (scope && !(scope instanceof Array)) {\n throw new Error('Scope must be an array of strings');\n }\n\n if (!IncludeGrantedScopes.includes(includeGrantedScopes)) {\n throw new Error('includeGrantedScopes must be none, user, or team');\n }\n\n var authUrl;\n\n if (authType === 'code') {\n authUrl = \"\".concat(baseUrl, \"?response_type=code&client_id=\").concat(clientId);\n } else {\n authUrl = \"\".concat(baseUrl, \"?response_type=token&client_id=\").concat(clientId);\n }\n\n if (redirectUri) {\n authUrl += \"&redirect_uri=\".concat(redirectUri);\n }\n\n if (state) {\n authUrl += \"&state=\".concat(state);\n }\n\n if (tokenAccessType) {\n authUrl += \"&token_access_type=\".concat(tokenAccessType);\n }\n\n if (scope) {\n authUrl += \"&scope=\".concat(scope.join(' '));\n }\n\n if (includeGrantedScopes !== 'none') {\n authUrl += \"&include_granted_scopes=\".concat(includeGrantedScopes);\n }\n\n if (usePKCE) {\n return this.generatePKCECodes().then(function () {\n authUrl += '&code_challenge_method=S256';\n authUrl += \"&code_challenge=\".concat(_this2.codeChallenge);\n return authUrl;\n });\n }\n\n return Promise.resolve(authUrl);\n }\n /**\n * Get an OAuth2 access token from an OAuth2 Code.\n * @arg {String} redirectUri - A URL to redirect the user to after\n * authenticating. This must be added to your app through the admin interface.\n * @arg {String} code - An OAuth2 code.\n * @returns {Object} An object containing the token and related info (if applicable)\n */\n\n }, {\n key: \"getAccessTokenFromCode\",\n value: function getAccessTokenFromCode(redirectUri, code) {\n var clientId = this.getClientId();\n var clientSecret = this.getClientSecret();\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n var path = OAuth2TokenUrl(this.domain, this.domainDelimiter);\n path += '?grant_type=authorization_code';\n path += \"&code=\".concat(code);\n path += \"&client_id=\".concat(clientId);\n\n if (clientSecret) {\n path += \"&client_secret=\".concat(clientSecret);\n } else {\n if (!this.codeVerifier) {\n throw new Error('You must use PKCE when generating the authorization URL to not include a client secret');\n }\n\n path += \"&code_verifier=\".concat(this.codeVerifier);\n }\n\n if (redirectUri) {\n path += \"&redirect_uri=\".concat(redirectUri);\n }\n\n var fetchOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n };\n return this.fetch(path, fetchOptions).then(function (res) {\n return parseResponse(res);\n });\n }\n /**\n * Checks if a token is needed, can be refreshed and if the token is expired.\n * If so, attempts to refresh access token\n * @returns {Promise<*>}\n */\n\n }, {\n key: \"checkAndRefreshAccessToken\",\n value: function checkAndRefreshAccessToken() {\n var canRefresh = this.getRefreshToken() && this.getClientId();\n var needsRefresh = !this.getAccessTokenExpiresAt() || new Date(Date.now() + TokenExpirationBuffer) >= this.getAccessTokenExpiresAt();\n var needsToken = !this.getAccessToken();\n\n if ((needsRefresh || needsToken) && canRefresh) {\n return this.refreshAccessToken();\n }\n\n return Promise.resolve();\n }\n /**\n * Refreshes the access token using the refresh token, if available\n * @arg {Array<String>} scope - a subset of scopes from the original\n * refresh to acquire with an access token\n * @returns {Promise<*>}\n */\n\n }, {\n key: \"refreshAccessToken\",\n value: function refreshAccessToken() {\n var _this3 = this;\n\n var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var clientId = this.getClientId();\n var clientSecret = this.getClientSecret();\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n if (scope && !(scope instanceof Array)) {\n throw new Error('Scope must be an array of strings');\n }\n\n var refreshUrl = OAuth2TokenUrl(this.domain, this.domainDelimiter);\n var fetchOptions = {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST'\n };\n\n if (this.dataOnBody) {\n var body = {\n grant_type: 'refresh_token',\n client_id: clientId,\n refresh_token: this.getRefreshToken()\n };\n\n if (clientSecret) {\n body.client_secret = clientSecret;\n }\n\n if (scope) {\n body.scope = scope.join(' ');\n }\n\n fetchOptions.body = body;\n } else {\n refreshUrl += \"?grant_type=refresh_token&refresh_token=\".concat(this.getRefreshToken());\n refreshUrl += \"&client_id=\".concat(clientId);\n\n if (clientSecret) {\n refreshUrl += \"&client_secret=\".concat(clientSecret);\n }\n\n if (scope) {\n refreshUrl += \"&scope=\".concat(scope.join(' '));\n }\n }\n\n return this.fetch(refreshUrl, fetchOptions).then(function (res) {\n return parseResponse(res);\n }).then(function (res) {\n _this3.setAccessToken(res.result.access_token);\n\n _this3.setAccessTokenExpiresAt(getTokenExpiresAtDate(res.result.expires_in));\n });\n }\n }]);\n\n return DropboxAuth;\n}();\n\nexport { DropboxAuth as default };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { UPLOAD, DOWNLOAD, RPC, APP_AUTH, TEAM_AUTH, USER_AUTH, NO_AUTH, COOKIE } from './constants.js';\nimport { routes } from '../lib/routes.js';\nimport DropboxAuth from './auth.js';\nimport { baseApiUrl, httpHeaderSafeJson } from './utils.js';\nimport { parseDownloadResponse, parseResponse } from './response.js';\nvar b64 = typeof btoa === 'undefined' ? function (str) {\n return Buffer.from(str).toString('base64');\n} : btoa;\n/**\n * @class Dropbox\n * @classdesc The Dropbox SDK class that provides methods to read, write and\n * create files or folders in a user or team's Dropbox.\n * @arg {Object} options\n * @arg {Function} [options.fetch] - fetch library for making requests.\n * @arg {String} [options.selectUser] - Select user is only used for team functionality.\n * It specifies which user the team access token should be acting as.\n * @arg {String} [options.pathRoot] - root path to access other namespaces\n * Use to access team folders for example\n * @arg {String} [options.selectAdmin] - Select admin is only used by team functionality.\n * It specifies which team admin the team access token should be acting as.\n * @arg {DropboxAuth} [options.auth] - The DropboxAuth object used to authenticate requests.\n * If this is set, the remaining parameters will be ignored.\n * @arg {String} [options.accessToken] - An access token for making authenticated\n * requests.\n * @arg {Date} [options.accessTokenExpiresAt] - Date of the current access token's\n * expiration (if available)\n * @arg {String} [options.refreshToken] - A refresh token for retrieving access tokens\n * @arg {String} [options.clientId] - The client id for your app. Used to create\n * authentication URL.\n * @arg {String} [options.clientSecret] - The client secret for your app. Used to create\n * authentication URL and refresh access tokens.\n * @arg {String} [options.domain] - A custom domain to use when making api requests. This\n * should only be used for testing as scaffolding to avoid making network requests.\n * @arg {String} [options.domainDelimiter] - A custom delimiter to use when separating domain from\n * subdomain. This should only be used for testing as scaffolding.\n * @arg {Object} [options.customHeaders] - An object (in the form of header: value) designed to set\n * custom headers to use during a request.\n */\n\nvar Dropbox = /*#__PURE__*/function () {\n function Dropbox(options) {\n _classCallCheck(this, Dropbox);\n\n options = options || {};\n\n if (options.auth) {\n this.auth = options.auth;\n } else {\n this.auth = new DropboxAuth(options);\n }\n\n this.fetch = options.fetch || this.auth.fetch;\n this.selectUser = options.selectUser;\n this.selectAdmin = options.selectAdmin;\n this.pathRoot = options.pathRoot;\n this.domain = options.domain || this.auth.domain;\n this.domainDelimiter = options.domainDelimiter || this.auth.domainDelimiter;\n this.customHeaders = options.customHeaders || this.auth.customHeaders;\n Object.assign(this, routes);\n }\n\n _createClass(Dropbox, [{\n key: \"request\",\n value: function request(path, args, auth, host, style) {\n // scope is provided after \"style\", but unused in requests, so it's not in parameters\n switch (style) {\n case RPC:\n return this.rpcRequest(path, args, auth, host);\n\n case DOWNLOAD:\n return this.downloadRequest(path, args, auth, host);\n\n case UPLOAD:\n return this.uploadRequest(path, args, auth, host);\n\n default:\n throw new Error(\"Invalid request style: \".concat(style));\n }\n }\n }, {\n key: \"rpcRequest\",\n value: function rpcRequest(path, body, auth, host) {\n var _this = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var fetchOptions = {\n method: 'POST',\n body: body ? JSON.stringify(body) : null,\n headers: {}\n };\n\n if (body) {\n fetchOptions.headers['Content-Type'] = 'application/json';\n }\n\n _this.setAuthHeaders(auth, fetchOptions);\n\n _this.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this.fetch(baseApiUrl(host, _this.domain, _this.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseResponse(res);\n });\n }\n }, {\n key: \"downloadRequest\",\n value: function downloadRequest(path, args, auth, host) {\n var _this2 = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var fetchOptions = {\n method: 'POST',\n headers: {\n 'Dropbox-API-Arg': httpHeaderSafeJson(args)\n }\n };\n\n _this2.setAuthHeaders(auth, fetchOptions);\n\n _this2.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this2.fetch(baseApiUrl(host, _this2.domain, _this2.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseDownloadResponse(res);\n });\n }\n }, {\n key: \"uploadRequest\",\n value: function uploadRequest(path, args, auth, host) {\n var _this3 = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var contents = args.contents;\n delete args.contents;\n var fetchOptions = {\n body: contents,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/octet-stream',\n 'Dropbox-API-Arg': httpHeaderSafeJson(args)\n }\n };\n\n _this3.setAuthHeaders(auth, fetchOptions);\n\n _this3.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this3.fetch(baseApiUrl(host, _this3.domain, _this3.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseResponse(res);\n });\n }\n }, {\n key: \"setAuthHeaders\",\n value: function setAuthHeaders(auth, fetchOptions) {\n // checks for multiauth and assigns auth based on priority to create header in switch case\n if (auth.split(',').length > 1) {\n var authTypes = auth.replace(' ', '').split(',');\n\n if (authTypes.includes(USER_AUTH) && this.auth.getAccessToken()) {\n auth = USER_AUTH;\n } else if (authTypes.includes(TEAM_AUTH) && this.auth.getAccessToken()) {\n auth = TEAM_AUTH;\n } else if (authTypes.includes(APP_AUTH)) {\n auth = APP_AUTH;\n }\n }\n\n switch (auth) {\n case APP_AUTH:\n if (this.auth.clientId && this.auth.clientSecret) {\n var authHeader = b64(\"\".concat(this.auth.clientId, \":\").concat(this.auth.clientSecret));\n fetchOptions.headers.Authorization = \"Basic \".concat(authHeader);\n }\n\n break;\n\n case TEAM_AUTH:\n case USER_AUTH:\n if (this.auth.getAccessToken()) {\n fetchOptions.headers.Authorization = \"Bearer \".concat(this.auth.getAccessToken());\n }\n\n break;\n\n case NO_AUTH:\n case COOKIE:\n break;\n\n default:\n throw new Error(\"Unhandled auth type: \".concat(auth));\n }\n }\n }, {\n key: \"setCommonHeaders\",\n value: function setCommonHeaders(options) {\n var _this4 = this;\n\n if (this.selectUser) {\n options.headers['Dropbox-API-Select-User'] = this.selectUser;\n }\n\n if (this.selectAdmin) {\n options.headers['Dropbox-API-Select-Admin'] = this.selectAdmin;\n }\n\n if (this.pathRoot) {\n options.headers['Dropbox-API-Path-Root'] = this.pathRoot;\n }\n\n if (this.customHeaders) {\n var headerKeys = Object.keys(this.customHeaders);\n headerKeys.forEach(function (header) {\n options.headers[header] = _this4.customHeaders[header];\n });\n }\n }\n }]);\n\n return Dropbox;\n}();\n\nexport { Dropbox as default };"],"names":["baseApiUrl","OAuth2AuthorizationUrl","OAuth2TokenUrl","_typeof","obj","_classCallCheck","self","_wrapNativeSuper","Class","_construct","Parent","args","_setPrototypeOf","o","p","_getPrototypeOf","DropboxResponseError","DropboxResponse","_defineProperties","_createClass","DropboxAuth","digestedHash","Buffer","Dropbox"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
1
+ {"version":3,"file":"index-BpihY4nP.js","sources":["../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/constants.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/lib/routes.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/utils.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/error.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/response.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/auth.js","../../utils/node_modules/.pnpm/dropbox@10.34.0_@types+node-fetch@2.6.13/node_modules/dropbox/es/src/dropbox.js"],"sourcesContent":["export var RPC = 'rpc';\nexport var UPLOAD = 'upload';\nexport var DOWNLOAD = 'download';\nexport var APP_AUTH = 'app';\nexport var USER_AUTH = 'user';\nexport var TEAM_AUTH = 'team';\nexport var NO_AUTH = 'noauth';\nexport var COOKIE = 'cookie';\nexport var DEFAULT_API_DOMAIN = 'dropboxapi.com';\nexport var DEFAULT_DOMAIN = 'dropbox.com';\nexport var TEST_DOMAIN_MAPPINGS = {\n api: 'api',\n notify: 'bolt',\n content: 'api-content'\n};","// Auto-generated by Stone, do not modify.\nvar routes = {};\n/**\n * Sets a user's profile photo.\n * Route attributes:\n * scope: account_info.write\n * @function Dropbox#accountSetProfilePhoto\n * @arg {AccountSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AccountSetProfilePhotoResult>, DropboxResponseError.<AccountSetProfilePhotoError>>}\n */\n\nroutes.accountSetProfilePhoto = function (arg) {\n return this.request('account/set_profile_photo', arg, 'user', 'api', 'rpc', 'account_info.write');\n};\n/**\n * Creates an OAuth 2.0 access token from the supplied OAuth 1.0 access token.\n * @function Dropbox#authTokenFromOauth1\n * @arg {AuthTokenFromOAuth1Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AuthTokenFromOAuth1Result>, DropboxResponseError.<AuthTokenFromOAuth1Error>>}\n */\n\n\nroutes.authTokenFromOauth1 = function (arg) {\n return this.request('auth/token/from_oauth1', arg, 'app', 'api', 'rpc', null);\n};\n/**\n * Disables the access token used to authenticate the call. If there is a\n * corresponding refresh token for the access token, this disables that refresh\n * token, as well as any other access tokens for that refresh token.\n * @function Dropbox#authTokenRevoke\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<void>>}\n */\n\n\nroutes.authTokenRevoke = function () {\n return this.request('auth/token/revoke', null, 'user', 'api', 'rpc', null);\n};\n/**\n * This endpoint performs App Authentication, validating the supplied app key\n * and secret, and returns the supplied string, to allow you to test your code\n * and connection to the Dropbox API. It has no other effect. If you receive an\n * HTTP 200 response with the supplied query, it indicates at least part of the\n * Dropbox API infrastructure is working and that the app key and secret valid.\n * @function Dropbox#checkApp\n * @arg {CheckEchoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<CheckEchoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.checkApp = function (arg) {\n return this.request('check/app', arg, 'app', 'api', 'rpc', null);\n};\n/**\n * This endpoint performs User Authentication, validating the supplied access\n * token, and returns the supplied string, to allow you to test your code and\n * connection to the Dropbox API. It has no other effect. If you receive an HTTP\n * 200 response with the supplied query, it indicates at least part of the\n * Dropbox API infrastructure is working and that the access token is valid.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#checkUser\n * @arg {CheckEchoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<CheckEchoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.checkUser = function (arg) {\n return this.request('check/user', arg, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Removes all manually added contacts. You'll still keep contacts who are on\n * your team or who you imported. New contacts will be added when you share.\n * Route attributes:\n * scope: contacts.write\n * @function Dropbox#contactsDeleteManualContacts\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<void>>}\n */\n\n\nroutes.contactsDeleteManualContacts = function () {\n return this.request('contacts/delete_manual_contacts', null, 'user', 'api', 'rpc', 'contacts.write');\n};\n/**\n * Removes manually added contacts from the given list.\n * Route attributes:\n * scope: contacts.write\n * @function Dropbox#contactsDeleteManualContactsBatch\n * @arg {ContactsDeleteManualContactsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<ContactsDeleteManualContactsError>>}\n */\n\n\nroutes.contactsDeleteManualContactsBatch = function (arg) {\n return this.request('contacts/delete_manual_contacts_batch', arg, 'user', 'api', 'rpc', 'contacts.write');\n};\n/**\n * Add property groups to a Dropbox file. See templates/add_for_user or\n * templates/add_for_team to create new templates.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesAdd\n * @arg {FilePropertiesAddPropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesAddPropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesAdd = function (arg) {\n return this.request('file_properties/properties/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Overwrite property groups associated with a file. This endpoint should be\n * used instead of properties/update when property groups are being updated via\n * a \"snapshot\" instead of via a \"delta\". In other words, this endpoint will\n * delete all omitted fields from a property group, whereas properties/update\n * will only delete fields that are explicitly marked for deletion.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesOverwrite\n * @arg {FilePropertiesOverwritePropertyGroupArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesInvalidPropertyGroupError>>}\n */\n\n\nroutes.filePropertiesPropertiesOverwrite = function (arg) {\n return this.request('file_properties/properties/overwrite', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Permanently removes the specified property group from the file. To remove\n * specific property field key value pairs, see properties/update. To update a\n * template, see templates/update_for_user or templates/update_for_team. To\n * remove a template, see templates/remove_for_user or\n * templates/remove_for_team.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesRemove\n * @arg {FilePropertiesRemovePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesRemovePropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesRemove = function (arg) {\n return this.request('file_properties/properties/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Search across property templates for particular property field values.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesPropertiesSearch\n * @arg {FilePropertiesPropertiesSearchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesPropertiesSearchResult>, DropboxResponseError.<FilePropertiesPropertiesSearchError>>}\n */\n\n\nroutes.filePropertiesPropertiesSearch = function (arg) {\n return this.request('file_properties/properties/search', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from properties/search, use this to paginate\n * through all search results.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesPropertiesSearchContinue\n * @arg {FilePropertiesPropertiesSearchContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesPropertiesSearchResult>, DropboxResponseError.<FilePropertiesPropertiesSearchContinueError>>}\n */\n\n\nroutes.filePropertiesPropertiesSearchContinue = function (arg) {\n return this.request('file_properties/properties/search/continue', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Add, update or remove properties associated with the supplied file and\n * templates. This endpoint should be used instead of properties/overwrite when\n * property groups are being updated via a \"delta\" instead of via a \"snapshot\" .\n * In other words, this endpoint will not delete any omitted fields from a\n * property group, whereas properties/overwrite will delete any fields that are\n * omitted from a property group.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesPropertiesUpdate\n * @arg {FilePropertiesUpdatePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesUpdatePropertiesError>>}\n */\n\n\nroutes.filePropertiesPropertiesUpdate = function (arg) {\n return this.request('file_properties/properties/update', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Add a template associated with a team. See properties/add to add properties\n * to a file or folder. Note: this endpoint will create team-owned templates.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesAddForTeam\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesAddForTeam = function (arg) {\n return this.request('file_properties/templates/add_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Add a template associated with a user. See properties/add to add properties\n * to a file. This endpoint can't be called on a team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesAddForUser\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesAddForUser = function (arg) {\n return this.request('file_properties/templates/add_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Get the schema for a specified template.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesGetForTeam\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesGetForTeam = function (arg) {\n return this.request('file_properties/templates/get_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Get the schema for a specified template. This endpoint can't be called on a\n * team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesTemplatesGetForUser\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesGetForUser = function (arg) {\n return this.request('file_properties/templates/get_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Get the template identifiers for a team. To get the schema of each template\n * use templates/get_for_team.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesListForTeam\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesListForTeam = function () {\n return this.request('file_properties/templates/list_for_team', null, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Get the template identifiers for a team. To get the schema of each template\n * use templates/get_for_user. This endpoint can't be called on a team member or\n * admin's behalf.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filePropertiesTemplatesListForUser\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesListForUser = function () {\n return this.request('file_properties/templates/list_for_user', null, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Permanently removes the specified template created from\n * templates/add_for_user. All properties associated with the template will also\n * be removed. This action cannot be undone.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesRemoveForTeam\n * @arg {FilePropertiesRemoveTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesRemoveForTeam = function (arg) {\n return this.request('file_properties/templates/remove_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permanently removes the specified template created from\n * templates/add_for_user. All properties associated with the template will also\n * be removed. This action cannot be undone.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesRemoveForUser\n * @arg {FilePropertiesRemoveTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesRemoveForUser = function (arg) {\n return this.request('file_properties/templates/remove_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Update a template associated with a team. This route can update the template\n * name, the template description and add optional properties to templates.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#filePropertiesTemplatesUpdateForTeam\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesUpdateForTeam = function (arg) {\n return this.request('file_properties/templates/update_for_team', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Update a template associated with a user. This route can update the template\n * name, the template description and add optional properties to templates. This\n * endpoint can't be called on a team member or admin's behalf.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filePropertiesTemplatesUpdateForUser\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.filePropertiesTemplatesUpdateForUser = function (arg) {\n return this.request('file_properties/templates/update_for_user', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Returns the total number of file requests owned by this user. Includes both\n * open and closed file requests.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsCount\n * @returns {Promise.<DropboxResponse<FileRequestsCountFileRequestsResult>, DropboxResponseError.<FileRequestsCountFileRequestsError>>}\n */\n\n\nroutes.fileRequestsCount = function () {\n return this.request('file_requests/count', null, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Creates a file request for this user.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsCreate\n * @arg {FileRequestsCreateFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsCreateFileRequestError>>}\n */\n\n\nroutes.fileRequestsCreate = function (arg) {\n return this.request('file_requests/create', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Delete a batch of closed file requests.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsDelete\n * @arg {FileRequestsDeleteFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsDeleteFileRequestsResult>, DropboxResponseError.<FileRequestsDeleteFileRequestError>>}\n */\n\n\nroutes.fileRequestsDelete = function (arg) {\n return this.request('file_requests/delete', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Delete all closed file requests owned by this user.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsDeleteAllClosed\n * @returns {Promise.<DropboxResponse<FileRequestsDeleteAllClosedFileRequestsResult>, DropboxResponseError.<FileRequestsDeleteAllClosedFileRequestsError>>}\n */\n\n\nroutes.fileRequestsDeleteAllClosed = function () {\n return this.request('file_requests/delete_all_closed', null, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Returns the specified file request.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsGet\n * @arg {FileRequestsGetFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsGetFileRequestError>>}\n */\n\n\nroutes.fileRequestsGet = function (arg) {\n return this.request('file_requests/get', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Returns a list of file requests owned by this user. For apps with the app\n * folder permission, this will only return file requests with destinations in\n * the app folder.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsListV2\n * @arg {FileRequestsListFileRequestsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsV2Result>, DropboxResponseError.<FileRequestsListFileRequestsError>>}\n */\n\n\nroutes.fileRequestsListV2 = function (arg) {\n return this.request('file_requests/list_v2', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Returns a list of file requests owned by this user. For apps with the app\n * folder permission, this will only return file requests with destinations in\n * the app folder.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsList\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsResult>, DropboxResponseError.<FileRequestsListFileRequestsError>>}\n */\n\n\nroutes.fileRequestsList = function () {\n return this.request('file_requests/list', null, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Once a cursor has been retrieved from list_v2, use this to paginate through\n * all file requests. The cursor must come from a previous call to list_v2 or\n * list/continue.\n * Route attributes:\n * scope: file_requests.read\n * @function Dropbox#fileRequestsListContinue\n * @arg {FileRequestsListFileRequestsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsListFileRequestsV2Result>, DropboxResponseError.<FileRequestsListFileRequestsContinueError>>}\n */\n\n\nroutes.fileRequestsListContinue = function (arg) {\n return this.request('file_requests/list/continue', arg, 'user', 'api', 'rpc', 'file_requests.read');\n};\n/**\n * Update a file request.\n * Route attributes:\n * scope: file_requests.write\n * @function Dropbox#fileRequestsUpdate\n * @arg {FileRequestsUpdateFileRequestArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FileRequestsFileRequest>, DropboxResponseError.<FileRequestsUpdateFileRequestError>>}\n */\n\n\nroutes.fileRequestsUpdate = function (arg) {\n return this.request('file_requests/update', arg, 'user', 'api', 'rpc', 'file_requests.write');\n};\n/**\n * Returns the metadata for a file or folder. This is an alpha endpoint\n * compatible with the properties API. Note: Metadata for the root folder is\n * unsupported.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesAlphaGetMetadata\n * @deprecated\n * @arg {FilesAlphaGetMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesAlphaGetMetadataError>>}\n */\n\n\nroutes.filesAlphaGetMetadata = function (arg) {\n return this.request('files/alpha/get_metadata', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Create a new file with the contents provided in the request. Note that the\n * behavior of this alpha endpoint is unstable and subject to change. Do not use\n * this to upload a file larger than 150 MB. Instead, create an upload session\n * with upload_session/start.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesAlphaUpload\n * @deprecated\n * @arg {FilesUploadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadError>>}\n */\n\n\nroutes.filesAlphaUpload = function (arg) {\n return this.request('files/alpha/upload', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Copy a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be copied.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyV2\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationResult>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesCopyV2 = function (arg) {\n return this.request('files/copy_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be copied.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopy\n * @deprecated\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesCopy = function (arg) {\n return this.request('files/copy', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy multiple files or folders to different locations at once in the user's\n * Dropbox. This route will replace copy_batch. The main difference is this\n * route will return status for each entry, while copy_batch raises failure if\n * any entry fails. This route will either finish synchronously, or return a job\n * ID and do the async copy job in background. Please use copy_batch/check_v2 to\n * check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchV2\n * @arg {Object} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2Launch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCopyBatchV2 = function (arg) {\n return this.request('files/copy_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Copy multiple files or folders to different locations at once in the user's\n * Dropbox. This route will return job ID immediately and do the async copy job\n * in background. Please use copy_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatch\n * @deprecated\n * @arg {FilesRelocationBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCopyBatch = function (arg) {\n return this.request('files/copy_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for copy_batch_v2. It returns list\n * of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchCheckV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2JobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCopyBatchCheckV2 = function (arg) {\n return this.request('files/copy_batch/check_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for copy_batch. If success, it\n * returns list of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyBatchCheck\n * @deprecated\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCopyBatchCheck = function (arg) {\n return this.request('files/copy_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Get a copy reference to a file or folder. This reference string can be used\n * to save that file or folder to another user's Dropbox by passing it to\n * copy_reference/save.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyReferenceGet\n * @arg {FilesGetCopyReferenceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetCopyReferenceResult>, DropboxResponseError.<FilesGetCopyReferenceError>>}\n */\n\n\nroutes.filesCopyReferenceGet = function (arg) {\n return this.request('files/copy_reference/get', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Save a copy reference returned by copy_reference/get to the user's Dropbox.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCopyReferenceSave\n * @arg {FilesSaveCopyReferenceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveCopyReferenceResult>, DropboxResponseError.<FilesSaveCopyReferenceError>>}\n */\n\n\nroutes.filesCopyReferenceSave = function (arg) {\n return this.request('files/copy_reference/save', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a folder at a given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderV2\n * @arg {FilesCreateFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderResult>, DropboxResponseError.<FilesCreateFolderError>>}\n */\n\n\nroutes.filesCreateFolderV2 = function (arg) {\n return this.request('files/create_folder_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a folder at a given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolder\n * @deprecated\n * @arg {FilesCreateFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFolderMetadata>, DropboxResponseError.<FilesCreateFolderError>>}\n */\n\n\nroutes.filesCreateFolder = function (arg) {\n return this.request('files/create_folder', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create multiple folders at once. This route is asynchronous for large\n * batches, which returns a job ID immediately and runs the create folder batch\n * asynchronously. Otherwise, creates the folders and returns the result\n * synchronously for smaller inputs. You can force asynchronous behaviour by\n * using the CreateFolderBatchArg.force_async flag. Use\n * create_folder_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderBatch\n * @arg {FilesCreateFolderBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesCreateFolderBatch = function (arg) {\n return this.request('files/create_folder_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for create_folder_batch. If\n * success, it returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesCreateFolderBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesCreateFolderBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesCreateFolderBatchCheck = function (arg) {\n return this.request('files/create_folder_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete the file or folder at a given path. If the path is a folder, all its\n * contents will be deleted too. A successful response indicates that the file\n * or folder was deleted. The returned metadata will be the corresponding\n * FileMetadata or FolderMetadata for the item at time of deletion, and not a\n * DeletedMetadata object.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteV2\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteResult>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesDeleteV2 = function (arg) {\n return this.request('files/delete_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete the file or folder at a given path. If the path is a folder, all its\n * contents will be deleted too. A successful response indicates that the file\n * or folder was deleted. The returned metadata will be the corresponding\n * FileMetadata or FolderMetadata for the item at time of deletion, and not a\n * DeletedMetadata object.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDelete\n * @deprecated\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesDelete = function (arg) {\n return this.request('files/delete', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Delete multiple files/folders at once. This route is asynchronous, which\n * returns a job ID immediately and runs the delete batch asynchronously. Use\n * delete_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteBatch\n * @arg {FilesDeleteBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesDeleteBatch = function (arg) {\n return this.request('files/delete_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for delete_batch. If success, it\n * returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesDeleteBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDeleteBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesDeleteBatchCheck = function (arg) {\n return this.request('files/delete_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Download a file from a user's Dropbox.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesDownload\n * @arg {FilesDownloadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesDownloadError>>}\n */\n\n\nroutes.filesDownload = function (arg) {\n return this.request('files/download', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Download a folder from the user's Dropbox, as a zip file. The folder must be\n * less than 20 GB in size and any single file within must be less than 4 GB in\n * size. The resulting zip must have fewer than 10,000 total file and folder\n * entries, including the top level folder. The input cannot be a single file.\n * Note: this endpoint does not support HTTP range requests.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesDownloadZip\n * @arg {FilesDownloadZipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesDownloadZipResult>, DropboxResponseError.<FilesDownloadZipError>>}\n */\n\n\nroutes.filesDownloadZip = function (arg) {\n return this.request('files/download_zip', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Export a file from a user's Dropbox. This route only supports exporting files\n * that cannot be downloaded directly and whose ExportResult.file_metadata has\n * ExportInfo.export_as populated.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesExport\n * @arg {FilesExportArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesExportResult>, DropboxResponseError.<FilesExportError>>}\n */\n\n\nroutes.filesExport = function (arg) {\n return this.request('files/export', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Return the lock metadata for the given list of paths.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetFileLockBatch\n * @arg {FilesLockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesGetFileLockBatch = function (arg) {\n return this.request('files/get_file_lock_batch', arg, 'user', 'api', 'rpc', 'files.content.read');\n};\n/**\n * Returns the metadata for a file or folder. Note: Metadata for the root folder\n * is unsupported.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesGetMetadata\n * @arg {FilesGetMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesGetMetadataError>>}\n */\n\n\nroutes.filesGetMetadata = function (arg) {\n return this.request('files/get_metadata', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Get a preview for a file. Currently, PDF previews are generated for files\n * with the following extensions: .ai, .doc, .docm, .docx, .eps, .gdoc,\n * .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .rtf. HTML\n * previews are generated for files with the following extensions: .csv, .ods,\n * .xls, .xlsm, .gsheet, .xlsx. Other formats will return an unsupported\n * extension error.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetPreview\n * @arg {FilesPreviewArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesPreviewError>>}\n */\n\n\nroutes.filesGetPreview = function (arg) {\n return this.request('files/get_preview', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get a temporary link to stream content of a file. This link will expire in\n * four hours and afterwards you will get 410 Gone. This URL should not be used\n * to display content directly in the browser. The Content-Type of the link is\n * determined automatically by the file's mime type.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetTemporaryLink\n * @arg {FilesGetTemporaryLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTemporaryLinkResult>, DropboxResponseError.<FilesGetTemporaryLinkError>>}\n */\n\n\nroutes.filesGetTemporaryLink = function (arg) {\n return this.request('files/get_temporary_link', arg, 'user', 'api', 'rpc', 'files.content.read');\n};\n/**\n * Get a one-time use temporary upload link to upload a file to a Dropbox\n * location. This endpoint acts as a delayed upload. The returned temporary\n * upload link may be used to make a POST request with the data to be uploaded.\n * The upload will then be perfomed with the CommitInfo previously provided to\n * get_temporary_upload_link but evaluated only upon consumption. Hence, errors\n * stemming from invalid CommitInfo with respect to the state of the user's\n * Dropbox will only be communicated at consumption time. Additionally, these\n * errors are surfaced as generic HTTP 409 Conflict responses, potentially\n * hiding issue details. The maximum temporary upload link duration is 4 hours.\n * Upon consumption or expiration, a new link will have to be generated.\n * Multiple links may exist for a specific upload path at any given time. The\n * POST request on the temporary upload link must have its Content-Type set to\n * \"application/octet-stream\". Example temporary upload link consumption\n * request: curl -X POST\n * https://content.dropboxapi.com/apitul/1/bNi2uIYF51cVBND --header\n * \"Content-Type: application/octet-stream\" --data-binary @local_file.txt A\n * successful temporary upload link consumption request returns the content hash\n * of the uploaded data in JSON format. Example successful temporary upload\n * link consumption response: {\"content-hash\":\n * \"599d71033d700ac892a0e48fa61b125d2f5994\"} An unsuccessful temporary upload\n * link consumption request returns any of the following status codes: HTTP 400\n * Bad Request: Content-Type is not one of application/octet-stream and\n * text/plain or request is invalid. HTTP 409 Conflict: The temporary upload\n * link does not exist or is currently unavailable, the upload failed, or\n * another error happened. HTTP 410 Gone: The temporary upload link is expired\n * or consumed. Example unsuccessful temporary upload link consumption\n * response: Temporary upload link has been recently consumed.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesGetTemporaryUploadLink\n * @arg {FilesGetTemporaryUploadLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTemporaryUploadLinkResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesGetTemporaryUploadLink = function (arg) {\n return this.request('files/get_temporary_upload_link', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Get a thumbnail for an image. This method currently supports files with the\n * following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp.\n * Photos that are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnail\n * @arg {FilesThumbnailArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesThumbnailError>>}\n */\n\n\nroutes.filesGetThumbnail = function (arg) {\n return this.request('files/get_thumbnail', arg, 'user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get a thumbnail for an image. This method currently supports files with the\n * following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp.\n * Photos that are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnailV2\n * @arg {FilesThumbnailV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPreviewResult>, DropboxResponseError.<FilesThumbnailV2Error>>}\n */\n\n\nroutes.filesGetThumbnailV2 = function (arg) {\n return this.request('files/get_thumbnail_v2', arg, 'app, user', 'content', 'download', 'files.content.read');\n};\n/**\n * Get thumbnails for a list of images. We allow up to 25 thumbnails in a single\n * batch. This method currently supports files with the following file\n * extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that\n * are larger than 20MB in size won't be converted to a thumbnail.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#filesGetThumbnailBatch\n * @arg {FilesGetThumbnailBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetThumbnailBatchResult>, DropboxResponseError.<FilesGetThumbnailBatchError>>}\n */\n\n\nroutes.filesGetThumbnailBatch = function (arg) {\n return this.request('files/get_thumbnail_batch', arg, 'user', 'content', 'rpc', 'files.content.read');\n};\n/**\n * Starts returning the contents of a folder. If the result's\n * ListFolderResult.has_more field is true, call list_folder/continue with the\n * returned ListFolderResult.cursor to retrieve more entries. If you're using\n * ListFolderArg.recursive set to true to keep a local cache of the contents of\n * a Dropbox account, iterate through each entry in order and process them as\n * follows to keep your local state in sync: For each FileMetadata, store the\n * new entry at the given path in your local state. If the required parent\n * folders don't exist yet, create them. If there's already something else at\n * the given path, replace it and remove all its children. For each\n * FolderMetadata, store the new entry at the given path in your local state. If\n * the required parent folders don't exist yet, create them. If there's already\n * something else at the given path, replace it but leave the children as they\n * are. Check the new entry's FolderSharingInfo.read_only and set all its\n * children's read-only statuses to match. For each DeletedMetadata, if your\n * local state has something at the given path, remove it and all its children.\n * If there's nothing at the given path, ignore this entry. Note:\n * auth.RateLimitError may be returned if multiple list_folder or\n * list_folder/continue calls with same parameters are made simultaneously by\n * same API app for same user. If your app implements retry logic, please hold\n * off the retry until the previous request finishes.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolder\n * @arg {FilesListFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderResult>, DropboxResponseError.<FilesListFolderError>>}\n */\n\n\nroutes.filesListFolder = function (arg) {\n return this.request('files/list_folder', arg, 'app, user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from list_folder, use this to paginate\n * through all files and retrieve updates to the folder, following the same\n * rules as documented for list_folder.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderContinue\n * @arg {FilesListFolderContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderResult>, DropboxResponseError.<FilesListFolderContinueError>>}\n */\n\n\nroutes.filesListFolderContinue = function (arg) {\n return this.request('files/list_folder/continue', arg, 'app, user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * A way to quickly get a cursor for the folder's state. Unlike list_folder,\n * list_folder/get_latest_cursor doesn't return any entries. This endpoint is\n * for app which only needs to know about new files and modifications and\n * doesn't need to know about files that already exist in Dropbox.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderGetLatestCursor\n * @arg {FilesListFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderGetLatestCursorResult>, DropboxResponseError.<FilesListFolderError>>}\n */\n\n\nroutes.filesListFolderGetLatestCursor = function (arg) {\n return this.request('files/list_folder/get_latest_cursor', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * A longpoll endpoint to wait for changes on an account. In conjunction with\n * list_folder/continue, this call gives you a low-latency way to monitor an\n * account for file changes. The connection will block until there are changes\n * available or a timeout occurs. This endpoint is useful mostly for client-side\n * apps. If you're looking for server-side notifications, check out our webhooks\n * documentation https://www.dropbox.com/developers/reference/webhooks.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListFolderLongpoll\n * @arg {FilesListFolderLongpollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListFolderLongpollResult>, DropboxResponseError.<FilesListFolderLongpollError>>}\n */\n\n\nroutes.filesListFolderLongpoll = function (arg) {\n return this.request('files/list_folder/longpoll', arg, 'noauth', 'notify', 'rpc', 'files.metadata.read');\n};\n/**\n * Returns revisions for files based on a file path or a file id. The file path\n * or file id is identified from the latest file entry at the given file path or\n * id. This end point allows your app to query either by file path or file id by\n * setting the mode parameter appropriately. In the ListRevisionsMode.path\n * (default) mode, all revisions at the same file path as the latest file entry\n * are returned. If revisions with the same file id are desired, then mode must\n * be set to ListRevisionsMode.id. The ListRevisionsMode.id mode is useful to\n * retrieve revisions for a given file across moves or renames.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesListRevisions\n * @arg {FilesListRevisionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesListRevisionsResult>, DropboxResponseError.<FilesListRevisionsError>>}\n */\n\n\nroutes.filesListRevisions = function (arg) {\n return this.request('files/list_revisions', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Lock the files at the given paths. A locked file will be writable only by the\n * lock holder. A successful response indicates that the file has been locked.\n * Returns a list of the locked file paths and their metadata after this\n * operation.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesLockFileBatch\n * @arg {FilesLockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesLockFileBatch = function (arg) {\n return this.request('files/lock_file_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be moved. Note that we do not\n * currently support case-only renaming.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveV2\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationResult>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesMoveV2 = function (arg) {\n return this.request('files/move_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move a file or folder to a different location in the user's Dropbox. If the\n * source path is a folder all its contents will be moved.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMove\n * @deprecated\n * @arg {FilesRelocationArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(FilesFileMetadata|FilesFolderMetadata|FilesDeletedMetadata)>, DropboxResponseError.<FilesRelocationError>>}\n */\n\n\nroutes.filesMove = function (arg) {\n return this.request('files/move', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move multiple files or folders to different locations at once in the user's\n * Dropbox. Note that we do not currently support case-only renaming. This route\n * will replace move_batch. The main difference is this route will return status\n * for each entry, while move_batch raises failure if any entry fails. This\n * route will either finish synchronously, or return a job ID and do the async\n * move job in background. Please use move_batch/check_v2 to check the job\n * status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchV2\n * @arg {FilesMoveBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2Launch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesMoveBatchV2 = function (arg) {\n return this.request('files/move_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Move multiple files or folders to different locations at once in the user's\n * Dropbox. This route will return job ID immediately and do the async moving\n * job in background. Please use move_batch/check to check the job status.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatch\n * @deprecated\n * @arg {FilesRelocationBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesMoveBatch = function (arg) {\n return this.request('files/move_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for move_batch_v2. It returns list\n * of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchCheckV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchV2JobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesMoveBatchCheckV2 = function (arg) {\n return this.request('files/move_batch/check_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for move_batch. If success, it\n * returns list of results for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesMoveBatchCheck\n * @deprecated\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesRelocationBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesMoveBatchCheck = function (arg) {\n return this.request('files/move_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Creates a new Paper doc with the provided content.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesPaperCreate\n * @arg {FilesPaperCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPaperCreateResult>, DropboxResponseError.<FilesPaperCreateError>>}\n */\n\n\nroutes.filesPaperCreate = function (arg) {\n return this.request('files/paper/create', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Updates an existing Paper doc with the provided content.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesPaperUpdate\n * @arg {FilesPaperUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesPaperUpdateResult>, DropboxResponseError.<FilesPaperUpdateError>>}\n */\n\n\nroutes.filesPaperUpdate = function (arg) {\n return this.request('files/paper/update', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Permanently delete the file or folder at a given path (see\n * https://www.dropbox.com/en/help/40). If the given file or folder is not yet\n * deleted, this route will first delete it. It is possible for this route to\n * successfully delete, then fail to permanently delete. Note: This endpoint is\n * only available for Dropbox Business apps.\n * Route attributes:\n * scope: files.permanent_delete\n * @function Dropbox#filesPermanentlyDelete\n * @arg {FilesDeleteArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesDeleteError>>}\n */\n\n\nroutes.filesPermanentlyDelete = function (arg) {\n return this.request('files/permanently_delete', arg, 'user', 'api', 'rpc', 'files.permanent_delete');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesAdd\n * @deprecated\n * @arg {FilePropertiesAddPropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesAddPropertiesError>>}\n */\n\n\nroutes.filesPropertiesAdd = function (arg) {\n return this.request('files/properties/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesOverwrite\n * @deprecated\n * @arg {FilePropertiesOverwritePropertyGroupArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesInvalidPropertyGroupError>>}\n */\n\n\nroutes.filesPropertiesOverwrite = function (arg) {\n return this.request('files/properties/overwrite', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesRemove\n * @deprecated\n * @arg {FilePropertiesRemovePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesRemovePropertiesError>>}\n */\n\n\nroutes.filesPropertiesRemove = function (arg) {\n return this.request('files/properties/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesPropertiesTemplateGet\n * @deprecated\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filesPropertiesTemplateGet = function (arg) {\n return this.request('files/properties/template/get', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesPropertiesTemplateList\n * @deprecated\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.filesPropertiesTemplateList = function () {\n return this.request('files/properties/template/list', null, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesPropertiesUpdate\n * @deprecated\n * @arg {FilePropertiesUpdatePropertiesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilePropertiesUpdatePropertiesError>>}\n */\n\n\nroutes.filesPropertiesUpdate = function (arg) {\n return this.request('files/properties/update', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Restore a specific revision of a file to the given path.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesRestore\n * @arg {FilesRestoreArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesRestoreError>>}\n */\n\n\nroutes.filesRestore = function (arg) {\n return this.request('files/restore', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Save the data from a specified URL into a file in user's Dropbox. Note that\n * the transfer from the URL must complete within 5 minutes, or the operation\n * will time out and the job will fail. If the given path already exists, the\n * file will be renamed to avoid the conflict (e.g. myfile (1).txt).\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesSaveUrl\n * @arg {FilesSaveUrlArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveUrlResult>, DropboxResponseError.<FilesSaveUrlError>>}\n */\n\n\nroutes.filesSaveUrl = function (arg) {\n return this.request('files/save_url', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Check the status of a save_url job.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesSaveUrlCheckJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSaveUrlJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesSaveUrlCheckJobStatus = function (arg) {\n return this.request('files/save_url/check_job_status', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Searches for files and folders. Note: Recent changes will be reflected in\n * search results within a few seconds and older revisions of existing files may\n * still match your query for up to a few days.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearch\n * @deprecated\n * @arg {FilesSearchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchResult>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearch = function (arg) {\n return this.request('files/search', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Searches for files and folders. Note: search_v2 along with search/continue_v2\n * can only be used to retrieve a maximum of 10,000 matches. Recent changes may\n * not immediately be reflected in search results due to a short delay in\n * indexing. Duplicate results may be returned across pages. Some results may\n * not be returned.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearchV2\n * @arg {FilesSearchV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchV2Result>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearchV2 = function (arg) {\n return this.request('files/search_v2', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Fetches the next page of search results returned from search_v2. Note:\n * search_v2 along with search/continue_v2 can only be used to retrieve a\n * maximum of 10,000 matches. Recent changes may not immediately be reflected in\n * search results due to a short delay in indexing. Duplicate results may be\n * returned across pages. Some results may not be returned.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesSearchContinueV2\n * @arg {FilesSearchV2ContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesSearchV2Result>, DropboxResponseError.<FilesSearchError>>}\n */\n\n\nroutes.filesSearchContinueV2 = function (arg) {\n return this.request('files/search/continue_v2', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Add a tag to an item. A tag is a string. The strings are automatically\n * converted to lowercase letters. No more than 20 tags can be added to a given\n * item.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesTagsAdd\n * @arg {FilesAddTagArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesAddTagError>>}\n */\n\n\nroutes.filesTagsAdd = function (arg) {\n return this.request('files/tags/add', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Get list of tags assigned to items.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#filesTagsGet\n * @arg {FilesGetTagsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesGetTagsResult>, DropboxResponseError.<FilesBaseTagError>>}\n */\n\n\nroutes.filesTagsGet = function (arg) {\n return this.request('files/tags/get', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Remove a tag from an item.\n * Route attributes:\n * scope: files.metadata.write\n * @function Dropbox#filesTagsRemove\n * @arg {FilesRemoveTagArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesRemoveTagError>>}\n */\n\n\nroutes.filesTagsRemove = function (arg) {\n return this.request('files/tags/remove', arg, 'user', 'api', 'rpc', 'files.metadata.write');\n};\n/**\n * Unlock the files at the given paths. A locked file can only be unlocked by\n * the lock holder or, if a business account, a team admin. A successful\n * response indicates that the file has been unlocked. Returns a list of the\n * unlocked file paths and their metadata after this operation.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUnlockFileBatch\n * @arg {FilesUnlockFileBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesLockFileBatchResult>, DropboxResponseError.<FilesLockFileError>>}\n */\n\n\nroutes.filesUnlockFileBatch = function (arg) {\n return this.request('files/unlock_file_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Create a new file with the contents provided in the request. Do not use this\n * to upload a file larger than 150 MB. Instead, create an upload session with\n * upload_session/start. Calls to this endpoint will count as data transport\n * calls for any Dropbox Business teams with a limit on the number of data\n * transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUpload\n * @arg {FilesUploadArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadError>>}\n */\n\n\nroutes.filesUpload = function (arg) {\n return this.request('files/upload', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Append more data to an upload session. When the parameter close is set, this\n * call will close the session. A single request should not upload more than 150\n * MB. The maximum size of a file one can upload to an upload session is 350 GB.\n * Calls to this endpoint will count as data transport calls for any Dropbox\n * Business teams with a limit on the number of data transport calls allowed per\n * month. For more information, see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionAppendV2\n * @arg {FilesUploadSessionAppendArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesUploadSessionAppendError>>}\n */\n\n\nroutes.filesUploadSessionAppendV2 = function (arg) {\n return this.request('files/upload_session/append_v2', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Append more data to an upload session. A single request should not upload\n * more than 150 MB. The maximum size of a file one can upload to an upload\n * session is 350 GB. Calls to this endpoint will count as data transport calls\n * for any Dropbox Business teams with a limit on the number of data transport\n * calls allowed per month. For more information, see the Data transport limit\n * page https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionAppend\n * @deprecated\n * @arg {FilesUploadSessionCursor} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<FilesUploadSessionAppendError>>}\n */\n\n\nroutes.filesUploadSessionAppend = function (arg) {\n return this.request('files/upload_session/append', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * Finish an upload session and save the uploaded data to the given file path. A\n * single request should not upload more than 150 MB. The maximum size of a file\n * one can upload to an upload session is 350 GB. Calls to this endpoint will\n * count as data transport calls for any Dropbox Business teams with a limit on\n * the number of data transport calls allowed per month. For more information,\n * see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinish\n * @arg {FilesUploadSessionFinishArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesFileMetadata>, DropboxResponseError.<FilesUploadSessionFinishError>>}\n */\n\n\nroutes.filesUploadSessionFinish = function (arg) {\n return this.request('files/upload_session/finish', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * This route helps you commit many files at once into a user's Dropbox. Use\n * upload_session/start and upload_session/append_v2 to upload file contents. We\n * recommend uploading many files in parallel to increase throughput. Once the\n * file contents have been uploaded, rather than calling upload_session/finish,\n * use this route to finish all your upload sessions in a single request.\n * UploadSessionStartArg.close or UploadSessionAppendArg.close needs to be true\n * for the last upload_session/start or upload_session/append_v2 call. The\n * maximum size of a file one can upload to an upload session is 350 GB. This\n * route will return a job_id immediately and do the async commit job in\n * background. Use upload_session/finish_batch/check to check the job status.\n * For the same account, this route should be executed serially. That means you\n * should not start the next job before current job finishes. We allow up to\n * 1000 entries in a single request. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatch\n * @deprecated\n * @arg {FilesUploadSessionFinishBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionFinishBatch = function (arg) {\n return this.request('files/upload_session/finish_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * This route helps you commit many files at once into a user's Dropbox. Use\n * upload_session/start and upload_session/append_v2 to upload file contents. We\n * recommend uploading many files in parallel to increase throughput. Once the\n * file contents have been uploaded, rather than calling upload_session/finish,\n * use this route to finish all your upload sessions in a single request.\n * UploadSessionStartArg.close or UploadSessionAppendArg.close needs to be true\n * for the last upload_session/start or upload_session/append_v2 call of each\n * upload session. The maximum size of a file one can upload to an upload\n * session is 350 GB. We allow up to 1000 entries in a single request. Calls to\n * this endpoint will count as data transport calls for any Dropbox Business\n * teams with a limit on the number of data transport calls allowed per month.\n * For more information, see the Data transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatchV2\n * @arg {FilesUploadSessionFinishBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionFinishBatchV2 = function (arg) {\n return this.request('files/upload_session/finish_batch_v2', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Returns the status of an asynchronous job for upload_session/finish_batch. If\n * success, it returns list of result for each entry.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionFinishBatchCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionFinishBatchJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.filesUploadSessionFinishBatchCheck = function (arg) {\n return this.request('files/upload_session/finish_batch/check', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Upload sessions allow you to upload a single file in one or more requests,\n * for example where the size of the file is greater than 150 MB. This call\n * starts a new upload session with the given data. You can then use\n * upload_session/append_v2 to add more data and upload_session/finish to save\n * all the data to a file in Dropbox. A single request should not upload more\n * than 150 MB. The maximum size of a file one can upload to an upload session\n * is 350 GB. An upload session can be used for a maximum of 7 days. Attempting\n * to use an UploadSessionStartResult.session_id with upload_session/append_v2\n * or upload_session/finish more than 7 days after its creation will return a\n * UploadSessionLookupError.not_found. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit. By\n * default, upload sessions require you to send content of the file in\n * sequential order via consecutive upload_session/start,\n * upload_session/append_v2, upload_session/finish calls. For better\n * performance, you can instead optionally use a UploadSessionType.concurrent\n * upload session. To start a new concurrent session, set\n * UploadSessionStartArg.session_type to UploadSessionType.concurrent. After\n * that, you can send file data in concurrent upload_session/append_v2 requests.\n * Finally finish the session with upload_session/finish. There are couple of\n * constraints with concurrent sessions to make them work. You can not send data\n * with upload_session/start or upload_session/finish call, only with\n * upload_session/append_v2 call. Also data uploaded in upload_session/append_v2\n * call must be multiple of 4194304 bytes (except for last\n * upload_session/append_v2 with UploadSessionStartArg.close to true, that may\n * contain any remaining data).\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionStart\n * @arg {FilesUploadSessionStartArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionStartResult>, DropboxResponseError.<FilesUploadSessionStartError>>}\n */\n\n\nroutes.filesUploadSessionStart = function (arg) {\n return this.request('files/upload_session/start', arg, 'user', 'content', 'upload', 'files.content.write');\n};\n/**\n * This route starts batch of upload_sessions. Please refer to\n * `upload_session/start` usage. Calls to this endpoint will count as data\n * transport calls for any Dropbox Business teams with a limit on the number of\n * data transport calls allowed per month. For more information, see the Data\n * transport limit page\n * https://www.dropbox.com/developers/reference/data-transport-limit.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#filesUploadSessionStartBatch\n * @arg {FilesUploadSessionStartBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilesUploadSessionStartBatchResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.filesUploadSessionStartBatch = function (arg) {\n return this.request('files/upload_session/start_batch', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * This route is used for refreshing the info that is found in the id_token\n * during the OIDC flow. This route doesn't require any arguments and will use\n * the scopes approved for the given access token.\n * Route attributes:\n * scope: openid\n * @function Dropbox#openidUserinfo\n * @arg {OpenidUserInfoArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<OpenidUserInfoResult>, DropboxResponseError.<OpenidUserInfoError>>}\n */\n\n\nroutes.openidUserinfo = function (arg) {\n return this.request('openid/userinfo', arg, 'user', 'api', 'rpc', 'openid');\n};\n/**\n * Marks the given Paper doc as archived. This action can be performed or undone\n * by anyone with edit permissions to the doc. Note that this endpoint will\n * continue to work for content created by users on the older version of Paper.\n * To check which version of Paper a user is on, use /users/features/get_values.\n * If the paper_as_files feature is enabled, then the user is running the new\n * version of Paper. This endpoint will be retired in September 2020. Refer to\n * the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsArchive\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsArchive = function (arg) {\n return this.request('paper/docs/archive', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Creates a new Paper doc with the provided content. Note that this endpoint\n * will continue to work for content created by users on the older version of\n * Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. This endpoint will be retired\n * in September 2020. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsCreate\n * @deprecated\n * @arg {PaperPaperDocCreateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocCreateUpdateResult>, DropboxResponseError.<PaperPaperDocCreateError>>}\n */\n\n\nroutes.paperDocsCreate = function (arg) {\n return this.request('paper/docs/create', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Exports and downloads Paper doc either as HTML or markdown. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.content.read\n * @function Dropbox#paperDocsDownload\n * @deprecated\n * @arg {PaperPaperDocExport} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocExportResult>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsDownload = function (arg) {\n return this.request('paper/docs/download', arg, 'user', 'api', 'download', 'files.content.read');\n};\n/**\n * Lists the users who are explicitly invited to the Paper folder in which the\n * Paper doc is contained. For private folders all users (including owner)\n * shared on the folder are listed and for team folders all non-team users\n * shared on the folder are returned. Note that this endpoint will continue to\n * work for content created by users on the older version of Paper. To check\n * which version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsFolderUsersList\n * @deprecated\n * @arg {PaperListUsersOnFolderArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnFolderResponse>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsFolderUsersList = function (arg) {\n return this.request('paper/docs/folder_users/list', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from docs/folder_users/list, use this to\n * paginate through all users on the Paper folder. Note that this endpoint will\n * continue to work for content created by users on the older version of Paper.\n * To check which version of Paper a user is on, use /users/features/get_values.\n * If the paper_as_files feature is enabled, then the user is running the new\n * version of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsFolderUsersListContinue\n * @deprecated\n * @arg {PaperListUsersOnFolderContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnFolderResponse>, DropboxResponseError.<PaperListUsersCursorError>>}\n */\n\n\nroutes.paperDocsFolderUsersListContinue = function (arg) {\n return this.request('paper/docs/folder_users/list/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Retrieves folder information for the given Paper doc. This includes: -\n * folder sharing policy; permissions for subfolders are set by the top-level\n * folder. - full 'filepath', i.e. the list of folders (both folderId and\n * folderName) from the root folder to the folder directly containing the\n * Paper doc. If the Paper doc is not in any folder (aka unfiled) the response\n * will be empty. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsGetFolderInfo\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperFoldersContainingPaperDoc>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsGetFolderInfo = function (arg) {\n return this.request('paper/docs/get_folder_info', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all Paper docs according to the argument specifications.\n * To iterate over through the full pagination, pass the cursor to\n * docs/list/continue. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#paperDocsList\n * @deprecated\n * @arg {PaperListPaperDocsArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListPaperDocsResponse>, DropboxResponseError.<void>>}\n */\n\n\nroutes.paperDocsList = function (arg) {\n return this.request('paper/docs/list', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Once a cursor has been retrieved from docs/list, use this to paginate through\n * all Paper doc. Note that this endpoint will continue to work for content\n * created by users on the older version of Paper. To check which version of\n * Paper a user is on, use /users/features/get_values. If the paper_as_files\n * feature is enabled, then the user is running the new version of Paper. Refer\n * to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: files.metadata.read\n * @function Dropbox#paperDocsListContinue\n * @deprecated\n * @arg {PaperListPaperDocsContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListPaperDocsResponse>, DropboxResponseError.<PaperListDocsCursorError>>}\n */\n\n\nroutes.paperDocsListContinue = function (arg) {\n return this.request('paper/docs/list/continue', arg, 'user', 'api', 'rpc', 'files.metadata.read');\n};\n/**\n * Permanently deletes the given Paper doc. This operation is final as the doc\n * cannot be recovered. This action can be performed only by the doc owner. Note\n * that this endpoint will continue to work for content created by users on the\n * older version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.permanent_delete\n * @function Dropbox#paperDocsPermanentlyDelete\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsPermanentlyDelete = function (arg) {\n return this.request('paper/docs/permanently_delete', arg, 'user', 'api', 'rpc', 'files.permanent_delete');\n};\n/**\n * Gets the default sharing policy for the given Paper doc. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsSharingPolicyGet\n * @deprecated\n * @arg {PaperRefPaperDoc} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperSharingPolicy>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsSharingPolicyGet = function (arg) {\n return this.request('paper/docs/sharing_policy/get', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Sets the default sharing policy for the given Paper doc. The default\n * 'team_sharing_policy' can be changed only by teams, omit this field for\n * personal accounts. The 'public_sharing_policy' policy can't be set to the\n * value 'disabled' because this setting can be changed only via the team admin\n * console. Note that this endpoint will continue to work for content created by\n * users on the older version of Paper. To check which version of Paper a user\n * is on, use /users/features/get_values. If the paper_as_files feature is\n * enabled, then the user is running the new version of Paper. Refer to the\n * Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsSharingPolicySet\n * @deprecated\n * @arg {PaperPaperDocSharingPolicy} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsSharingPolicySet = function (arg) {\n return this.request('paper/docs/sharing_policy/set', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Updates an existing Paper doc with the provided content. Note that this\n * endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. This endpoint will be retired\n * in September 2020. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * more information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperDocsUpdate\n * @deprecated\n * @arg {PaperPaperDocUpdateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperDocCreateUpdateResult>, DropboxResponseError.<PaperPaperDocUpdateError>>}\n */\n\n\nroutes.paperDocsUpdate = function (arg) {\n return this.request('paper/docs/update', arg, 'user', 'api', 'upload', 'files.content.write');\n};\n/**\n * Allows an owner or editor to add users to a Paper doc or change their\n * permissions using their email address or Dropbox account ID. The doc owner's\n * permissions cannot be changed. Note that this endpoint will continue to work\n * for content created by users on the older version of Paper. To check which\n * version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsUsersAdd\n * @deprecated\n * @arg {PaperAddPaperDocUser} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<PaperAddPaperDocUserMemberResult>>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersAdd = function (arg) {\n return this.request('paper/docs/users/add', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Lists all users who visited the Paper doc or users with explicit access. This\n * call excludes users who have been removed. The list is sorted by the date of\n * the visit or the share date. The list will include both users, the explicitly\n * shared ones as well as those who came in using the Paper url link. Note that\n * this endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsUsersList\n * @deprecated\n * @arg {PaperListUsersOnPaperDocArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnPaperDocResponse>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersList = function (arg) {\n return this.request('paper/docs/users/list', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from docs/users/list, use this to paginate\n * through all users on the Paper doc. Note that this endpoint will continue to\n * work for content created by users on the older version of Paper. To check\n * which version of Paper a user is on, use /users/features/get_values. If the\n * paper_as_files feature is enabled, then the user is running the new version\n * of Paper. Refer to the Paper Migration Guide\n * https://www.dropbox.com/lp/developers/reference/paper-migration-guide for\n * migration information.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#paperDocsUsersListContinue\n * @deprecated\n * @arg {PaperListUsersOnPaperDocContinueArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperListUsersOnPaperDocResponse>, DropboxResponseError.<PaperListUsersCursorError>>}\n */\n\n\nroutes.paperDocsUsersListContinue = function (arg) {\n return this.request('paper/docs/users/list/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Allows an owner or editor to remove users from a Paper doc using their email\n * address or Dropbox account ID. The doc owner cannot be removed. Note that\n * this endpoint will continue to work for content created by users on the older\n * version of Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#paperDocsUsersRemove\n * @deprecated\n * @arg {PaperRemovePaperDocUser} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<PaperDocLookupError>>}\n */\n\n\nroutes.paperDocsUsersRemove = function (arg) {\n return this.request('paper/docs/users/remove', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a new Paper folder with the provided info. Note that this endpoint\n * will continue to work for content created by users on the older version of\n * Paper. To check which version of Paper a user is on, use\n * /users/features/get_values. If the paper_as_files feature is enabled, then\n * the user is running the new version of Paper. Refer to the Paper Migration\n * Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide\n * for migration information.\n * Route attributes:\n * scope: files.content.write\n * @function Dropbox#paperFoldersCreate\n * @deprecated\n * @arg {PaperPaperFolderCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<PaperPaperFolderCreateResult>, DropboxResponseError.<PaperPaperFolderCreateError>>}\n */\n\n\nroutes.paperFoldersCreate = function (arg) {\n return this.request('paper/folders/create', arg, 'user', 'api', 'rpc', 'files.content.write');\n};\n/**\n * Adds specified members to a file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingAddFileMember\n * @arg {SharingAddFileMemberArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingFileMemberActionResult>>, DropboxResponseError.<SharingAddFileMemberError>>}\n */\n\n\nroutes.sharingAddFileMember = function (arg) {\n return this.request('sharing/add_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor (if the ACL update policy allows) of a shared\n * folder to add another member. For the new member to get access to all the\n * functionality for this folder, you will need to call mount_folder on their\n * behalf.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingAddFolderMember\n * @arg {SharingAddFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingAddFolderMemberError>>}\n */\n\n\nroutes.sharingAddFolderMember = function (arg) {\n return this.request('sharing/add_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckJobStatus = function (arg) {\n return this.request('sharing/check_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job for sharing a folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckRemoveMemberJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingRemoveMemberJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckRemoveMemberJobStatus = function (arg) {\n return this.request('sharing/check_remove_member_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns the status of an asynchronous job for sharing a folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCheckShareJobStatus\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.sharingCheckShareJobStatus = function (arg) {\n return this.request('sharing/check_share_job_status', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a shared link. If a shared link already exists for the given path,\n * that link is returned. Previously, it was technically possible to break a\n * shared link by moving or renaming the corresponding file or folder. In the\n * future, this will no longer be the case, so your app shouldn't rely on this\n * behavior. Instead, if your app needs to revoke a shared link, use\n * revoke_shared_link.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCreateSharedLink\n * @deprecated\n * @arg {SharingCreateSharedLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingPathLinkMetadata>, DropboxResponseError.<SharingCreateSharedLinkError>>}\n */\n\n\nroutes.sharingCreateSharedLink = function (arg) {\n return this.request('sharing/create_shared_link', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Create a shared link with custom settings. If no settings are given then the\n * default visibility is RequestedVisibility.public (The resolved visibility,\n * though, may depend on other aspects such as team and shared folder settings).\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingCreateSharedLinkWithSettings\n * @arg {SharingCreateSharedLinkWithSettingsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingCreateSharedLinkWithSettingsError>>}\n */\n\n\nroutes.sharingCreateSharedLinkWithSettings = function (arg) {\n return this.request('sharing/create_shared_link_with_settings', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Returns shared file metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFileMetadata\n * @arg {SharingGetFileMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMetadata>, DropboxResponseError.<SharingGetFileMetadataError>>}\n */\n\n\nroutes.sharingGetFileMetadata = function (arg) {\n return this.request('sharing/get_file_metadata', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared file metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFileMetadataBatch\n * @arg {SharingGetFileMetadataBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingGetFileMetadataBatchResult>>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingGetFileMetadataBatch = function (arg) {\n return this.request('sharing/get_file_metadata/batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared folder metadata by its folder ID.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetFolderMetadata\n * @arg {SharingGetMetadataArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingSharedFolderAccessError>>}\n */\n\n\nroutes.sharingGetFolderMetadata = function (arg) {\n return this.request('sharing/get_folder_metadata', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Download the shared link's file from a user's Dropbox.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinkFile\n * @arg {Object} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingGetSharedLinkFileError>>}\n */\n\n\nroutes.sharingGetSharedLinkFile = function (arg) {\n return this.request('sharing/get_shared_link_file', arg, 'user', 'content', 'download', 'sharing.read');\n};\n/**\n * Get the shared link's metadata.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinkMetadata\n * @arg {SharingGetSharedLinkMetadataArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingSharedLinkError>>}\n */\n\n\nroutes.sharingGetSharedLinkMetadata = function (arg) {\n return this.request('sharing/get_shared_link_metadata', arg, 'app, user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns a list of LinkMetadata objects for this user, including collection\n * links. If no path is given, returns a list of all shared links for the\n * current user, including collection links, up to a maximum of 1000 links. If a\n * non-empty path is given, returns a list of all shared links that allow access\n * to the given path. Collection links are never returned in this case.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingGetSharedLinks\n * @deprecated\n * @arg {SharingGetSharedLinksArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingGetSharedLinksResult>, DropboxResponseError.<SharingGetSharedLinksError>>}\n */\n\n\nroutes.sharingGetSharedLinks = function (arg) {\n return this.request('sharing/get_shared_links', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Use to obtain the members who have been invited to a file, both inherited and\n * uninherited members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembers\n * @arg {SharingListFileMembersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMembers>, DropboxResponseError.<SharingListFileMembersError>>}\n */\n\n\nroutes.sharingListFileMembers = function (arg) {\n return this.request('sharing/list_file_members', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get members of multiple files at once. The arguments to this route are more\n * limited, and the limit on query result size per file is more strict. To\n * customize the results more, use the individual file endpoint. Inherited users\n * and groups are not included in the result, and permissions are not returned\n * for this endpoint.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembersBatch\n * @arg {SharingListFileMembersBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<SharingListFileMembersBatchResult>>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingListFileMembersBatch = function (arg) {\n return this.request('sharing/list_file_members/batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_file_members or\n * list_file_members/batch, use this to paginate through all shared file\n * members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFileMembersContinue\n * @arg {SharingListFileMembersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFileMembers>, DropboxResponseError.<SharingListFileMembersContinueError>>}\n */\n\n\nroutes.sharingListFileMembersContinue = function (arg) {\n return this.request('sharing/list_file_members/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns shared folder membership by its folder ID.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolderMembers\n * @arg {SharingListFolderMembersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMembers>, DropboxResponseError.<SharingSharedFolderAccessError>>}\n */\n\n\nroutes.sharingListFolderMembers = function (arg) {\n return this.request('sharing/list_folder_members', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_folder_members, use this to\n * paginate through all shared folder members.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolderMembersContinue\n * @arg {SharingListFolderMembersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMembers>, DropboxResponseError.<SharingListFolderMembersContinueError>>}\n */\n\n\nroutes.sharingListFolderMembersContinue = function (arg) {\n return this.request('sharing/list_folder_members/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all shared folders the current user has access to.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFolders\n * @arg {SharingListFoldersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.sharingListFolders = function (arg) {\n return this.request('sharing/list_folders', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_folders, use this to paginate\n * through all shared folders. The cursor must come from a previous call to\n * list_folders or list_folders/continue.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListFoldersContinue\n * @arg {SharingListFoldersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<SharingListFoldersContinueError>>}\n */\n\n\nroutes.sharingListFoldersContinue = function (arg) {\n return this.request('sharing/list_folders/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Return the list of all shared folders the current user can mount or unmount.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListMountableFolders\n * @arg {SharingListFoldersArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.sharingListMountableFolders = function (arg) {\n return this.request('sharing/list_mountable_folders', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Once a cursor has been retrieved from list_mountable_folders, use this to\n * paginate through all mountable shared folders. The cursor must come from a\n * previous call to list_mountable_folders or list_mountable_folders/continue.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListMountableFoldersContinue\n * @arg {SharingListFoldersContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFoldersResult>, DropboxResponseError.<SharingListFoldersContinueError>>}\n */\n\n\nroutes.sharingListMountableFoldersContinue = function (arg) {\n return this.request('sharing/list_mountable_folders/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Returns a list of all files shared with current user. Does not include files\n * the user has received via shared folders, and does not include unclaimed\n * invitations.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListReceivedFiles\n * @arg {SharingListFilesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFilesResult>, DropboxResponseError.<SharingSharingUserError>>}\n */\n\n\nroutes.sharingListReceivedFiles = function (arg) {\n return this.request('sharing/list_received_files', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get more results with a cursor from list_received_files.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListReceivedFilesContinue\n * @arg {SharingListFilesContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListFilesResult>, DropboxResponseError.<SharingListFilesContinueError>>}\n */\n\n\nroutes.sharingListReceivedFilesContinue = function (arg) {\n return this.request('sharing/list_received_files/continue', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * List shared links of this user. If no path is given, returns a list of all\n * shared links for the current user. For members of business teams using team\n * space and member folders, returns all shared links in the team member's home\n * folder unless the team space ID is specified in the request header. For more\n * information, refer to the Namespace Guide\n * https://www.dropbox.com/developers/reference/namespace-guide. If a non-empty\n * path is given, returns a list of all shared links that allow access to the\n * given path - direct links to the given path and links to parent folders of\n * the given path. Links to parent folders can be suppressed by setting\n * direct_only to true.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#sharingListSharedLinks\n * @arg {SharingListSharedLinksArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingListSharedLinksResult>, DropboxResponseError.<SharingListSharedLinksError>>}\n */\n\n\nroutes.sharingListSharedLinks = function (arg) {\n return this.request('sharing/list_shared_links', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Modify the shared link's settings. If the requested visibility conflict with\n * the shared links policy of the team or the shared folder (in case the linked\n * file is part of a shared folder) then the LinkPermissions.resolved_visibility\n * of the returned SharedLinkMetadata will reflect the actual visibility of the\n * shared link and the LinkPermissions.requested_visibility will reflect the\n * requested visibility.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingModifySharedLinkSettings\n * @arg {SharingModifySharedLinkSettingsArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<(SharingFileLinkMetadata|SharingFolderLinkMetadata|SharingSharedLinkMetadata)>, DropboxResponseError.<SharingModifySharedLinkSettingsError>>}\n */\n\n\nroutes.sharingModifySharedLinkSettings = function (arg) {\n return this.request('sharing/modify_shared_link_settings', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user mounts the designated folder. Mount a shared folder for a\n * user after they have been added as a member. Once mounted, the shared folder\n * will appear in their Dropbox.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingMountFolder\n * @arg {SharingMountFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingMountFolderError>>}\n */\n\n\nroutes.sharingMountFolder = function (arg) {\n return this.request('sharing/mount_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user relinquishes their membership in the designated file. Note\n * that the current user may still have inherited access to this file through\n * the parent folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRelinquishFileMembership\n * @arg {SharingRelinquishFileMembershipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingRelinquishFileMembershipError>>}\n */\n\n\nroutes.sharingRelinquishFileMembership = function (arg) {\n return this.request('sharing/relinquish_file_membership', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user relinquishes their membership in the designated shared\n * folder and will no longer have access to the folder. A folder owner cannot\n * relinquish membership in their own folder. This will run synchronously if\n * leave_a_copy is false, and asynchronously if leave_a_copy is true.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRelinquishFolderMembership\n * @arg {SharingRelinquishFolderMembershipArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<SharingRelinquishFolderMembershipError>>}\n */\n\n\nroutes.sharingRelinquishFolderMembership = function (arg) {\n return this.request('sharing/relinquish_folder_membership', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Identical to remove_file_member_2 but with less information returned.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFileMember\n * @deprecated\n * @arg {SharingRemoveFileMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingFileMemberActionIndividualResult>, DropboxResponseError.<SharingRemoveFileMemberError>>}\n */\n\n\nroutes.sharingRemoveFileMember = function (arg) {\n return this.request('sharing/remove_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Removes a specified member from the file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFileMember2\n * @arg {SharingRemoveFileMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingFileMemberRemoveActionResult>, DropboxResponseError.<SharingRemoveFileMemberError>>}\n */\n\n\nroutes.sharingRemoveFileMember2 = function (arg) {\n return this.request('sharing/remove_file_member_2', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor (if the ACL update policy allows) of a shared\n * folder to remove another member.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRemoveFolderMember\n * @arg {SharingRemoveFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchResultBase>, DropboxResponseError.<SharingRemoveFolderMemberError>>}\n */\n\n\nroutes.sharingRemoveFolderMember = function (arg) {\n return this.request('sharing/remove_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Revoke a shared link. Note that even after revoking a shared link to a file,\n * the file may be accessible if there are shared links leading to any of the\n * file parent folders. To list all shared links that enable access to a\n * specific file, you can use the list_shared_links with the file as the\n * ListSharedLinksArg.path argument.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingRevokeSharedLink\n * @arg {SharingRevokeSharedLinkArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingRevokeSharedLinkError>>}\n */\n\n\nroutes.sharingRevokeSharedLink = function (arg) {\n return this.request('sharing/revoke_shared_link', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Change the inheritance policy of an existing Shared Folder. Only permitted\n * for shared folders in a shared team root. If a ShareFolderLaunch.async_job_id\n * is returned, you'll need to call check_share_job_status until the action\n * completes to get the metadata for the folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingSetAccessInheritance\n * @arg {SharingSetAccessInheritanceArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderLaunch>, DropboxResponseError.<SharingSetAccessInheritanceError>>}\n */\n\n\nroutes.sharingSetAccessInheritance = function (arg) {\n return this.request('sharing/set_access_inheritance', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Share a folder with collaborators. Most sharing will be completed\n * synchronously. Large folders will be completed asynchronously. To make\n * testing the async case repeatable, set `ShareFolderArg.force_async`. If a\n * ShareFolderLaunch.async_job_id is returned, you'll need to call\n * check_share_job_status until the action completes to get the metadata for the\n * folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingShareFolder\n * @arg {SharingShareFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingShareFolderLaunch>, DropboxResponseError.<SharingShareFolderError>>}\n */\n\n\nroutes.sharingShareFolder = function (arg) {\n return this.request('sharing/share_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Transfer ownership of a shared folder to a member of the shared folder. User\n * must have AccessLevel.owner access to the shared folder to perform a\n * transfer.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingTransferFolder\n * @arg {SharingTransferFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingTransferFolderError>>}\n */\n\n\nroutes.sharingTransferFolder = function (arg) {\n return this.request('sharing/transfer_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * The current user unmounts the designated folder. They can re-mount the folder\n * at a later time using mount_folder.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnmountFolder\n * @arg {SharingUnmountFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingUnmountFolderError>>}\n */\n\n\nroutes.sharingUnmountFolder = function (arg) {\n return this.request('sharing/unmount_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Remove all members from this file. Does not remove inherited members.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnshareFile\n * @arg {SharingUnshareFileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<SharingUnshareFileError>>}\n */\n\n\nroutes.sharingUnshareFile = function (arg) {\n return this.request('sharing/unshare_file', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows a shared folder owner to unshare the folder. You'll need to call\n * check_job_status to determine if the action has completed successfully.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUnshareFolder\n * @arg {SharingUnshareFolderArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<SharingUnshareFolderError>>}\n */\n\n\nroutes.sharingUnshareFolder = function (arg) {\n return this.request('sharing/unshare_folder', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Changes a member's access on a shared file.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFileMember\n * @arg {SharingUpdateFileMemberArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingMemberAccessLevelResult>, DropboxResponseError.<SharingFileMemberActionError>>}\n */\n\n\nroutes.sharingUpdateFileMember = function (arg) {\n return this.request('sharing/update_file_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Allows an owner or editor of a shared folder to update another member's\n * permissions.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFolderMember\n * @arg {SharingUpdateFolderMemberArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingMemberAccessLevelResult>, DropboxResponseError.<SharingUpdateFolderMemberError>>}\n */\n\n\nroutes.sharingUpdateFolderMember = function (arg) {\n return this.request('sharing/update_folder_member', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * Update the sharing policies for a shared folder. User must have\n * AccessLevel.owner access to the shared folder to update its policies.\n * Route attributes:\n * scope: sharing.write\n * @function Dropbox#sharingUpdateFolderPolicy\n * @arg {SharingUpdateFolderPolicyArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<SharingSharedFolderMetadata>, DropboxResponseError.<SharingUpdateFolderPolicyError>>}\n */\n\n\nroutes.sharingUpdateFolderPolicy = function (arg) {\n return this.request('sharing/update_folder_policy', arg, 'user', 'api', 'rpc', 'sharing.write');\n};\n/**\n * List all device sessions of a team's member.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListMemberDevices\n * @arg {TeamListMemberDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMemberDevicesResult>, DropboxResponseError.<TeamListMemberDevicesError>>}\n */\n\n\nroutes.teamDevicesListMemberDevices = function (arg) {\n return this.request('team/devices/list_member_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all device sessions of a team. Permission : Team member file access.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListMembersDevices\n * @arg {TeamListMembersDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMembersDevicesResult>, DropboxResponseError.<TeamListMembersDevicesError>>}\n */\n\n\nroutes.teamDevicesListMembersDevices = function (arg) {\n return this.request('team/devices/list_members_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all device sessions of a team. Permission : Team member file access.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamDevicesListTeamDevices\n * @deprecated\n * @arg {TeamListTeamDevicesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListTeamDevicesResult>, DropboxResponseError.<TeamListTeamDevicesError>>}\n */\n\n\nroutes.teamDevicesListTeamDevices = function (arg) {\n return this.request('team/devices/list_team_devices', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * Revoke a device session of a team's member.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamDevicesRevokeDeviceSession\n * @arg {TeamRevokeDeviceSessionArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamRevokeDeviceSessionError>>}\n */\n\n\nroutes.teamDevicesRevokeDeviceSession = function (arg) {\n return this.request('team/devices/revoke_device_session', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Revoke a list of device sessions of team members.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamDevicesRevokeDeviceSessionBatch\n * @arg {TeamRevokeDeviceSessionBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamRevokeDeviceSessionBatchResult>, DropboxResponseError.<TeamRevokeDeviceSessionBatchError>>}\n */\n\n\nroutes.teamDevicesRevokeDeviceSessionBatch = function (arg) {\n return this.request('team/devices/revoke_device_session_batch', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Get the values for one or more featues. This route allows you to check your\n * account's capability for what feature you can access or what value you have\n * for certain features. Permission : Team information.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamFeaturesGetValues\n * @arg {TeamFeaturesGetValuesBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamFeaturesGetValuesBatchResult>, DropboxResponseError.<TeamFeaturesGetValuesBatchError>>}\n */\n\n\nroutes.teamFeaturesGetValues = function (arg) {\n return this.request('team/features/get_values', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves information about a team.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamGetInfo\n * @returns {Promise.<DropboxResponse<TeamTeamGetInfoResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamGetInfo = function () {\n return this.request('team/get_info', null, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Creates a new, empty group, with a requested name. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsCreate\n * @arg {TeamGroupCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupFullInfo>, DropboxResponseError.<TeamGroupCreateError>>}\n */\n\n\nroutes.teamGroupsCreate = function (arg) {\n return this.request('team/groups/create', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Deletes a group. The group is deleted immediately. However the revoking of\n * group-owned resources may take additional time. Use the groups/job_status/get\n * to determine whether this process has completed. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsDelete\n * @arg {TeamGroupSelector} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamGroupDeleteError>>}\n */\n\n\nroutes.teamGroupsDelete = function (arg) {\n return this.request('team/groups/delete', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Retrieves information about one or more groups. Note that the optional field\n * GroupFullInfo.members is not returned for system-managed groups. Permission :\n * Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsGetInfo\n * @arg {TeamGroupsSelector} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamGroupsGetInfoError>>}\n */\n\n\nroutes.teamGroupsGetInfo = function (arg) {\n return this.request('team/groups/get_info', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once an async_job_id is returned from groups/delete, groups/members/add , or\n * groups/members/remove use this method to poll the status of granting/revoking\n * group members' access to group-owned resources. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<TeamGroupsPollError>>}\n */\n\n\nroutes.teamGroupsJobStatusGet = function (arg) {\n return this.request('team/groups/job_status/get', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Lists groups on a team. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsList\n * @arg {TeamGroupsListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsListResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamGroupsList = function (arg) {\n return this.request('team/groups/list', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once a cursor has been retrieved from groups/list, use this to paginate\n * through all groups. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsListContinue\n * @arg {TeamGroupsListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsListResult>, DropboxResponseError.<TeamGroupsListContinueError>>}\n */\n\n\nroutes.teamGroupsListContinue = function (arg) {\n return this.request('team/groups/list/continue', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Adds members to a group. The members are added immediately. However the\n * granting of group-owned resources may take additional time. Use the\n * groups/job_status/get to determine whether this process has completed.\n * Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersAdd\n * @arg {TeamGroupMembersAddArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupMembersChangeResult>, DropboxResponseError.<TeamGroupMembersAddError>>}\n */\n\n\nroutes.teamGroupsMembersAdd = function (arg) {\n return this.request('team/groups/members/add', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Lists members of a group. Permission : Team Information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsMembersList\n * @arg {TeamGroupsMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsMembersListResult>, DropboxResponseError.<TeamGroupSelectorError>>}\n */\n\n\nroutes.teamGroupsMembersList = function (arg) {\n return this.request('team/groups/members/list', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Once a cursor has been retrieved from groups/members/list, use this to\n * paginate through all members of the group. Permission : Team information.\n * Route attributes:\n * scope: groups.read\n * @function Dropbox#teamGroupsMembersListContinue\n * @arg {TeamGroupsMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupsMembersListResult>, DropboxResponseError.<TeamGroupsMembersListContinueError>>}\n */\n\n\nroutes.teamGroupsMembersListContinue = function (arg) {\n return this.request('team/groups/members/list/continue', arg, 'team', 'api', 'rpc', 'groups.read');\n};\n/**\n * Removes members from a group. The members are removed immediately. However\n * the revoking of group-owned resources may take additional time. Use the\n * groups/job_status/get to determine whether this process has completed. This\n * method permits removing the only owner of a group, even in cases where this\n * is not possible via the web client. Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersRemove\n * @arg {TeamGroupMembersRemoveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupMembersChangeResult>, DropboxResponseError.<TeamGroupMembersRemoveError>>}\n */\n\n\nroutes.teamGroupsMembersRemove = function (arg) {\n return this.request('team/groups/members/remove', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Sets a member's access type in a group. Permission : Team member management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsMembersSetAccessType\n * @arg {TeamGroupMembersSetAccessTypeArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamGroupMemberSetAccessTypeError>>}\n */\n\n\nroutes.teamGroupsMembersSetAccessType = function (arg) {\n return this.request('team/groups/members/set_access_type', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Updates a group's name and/or external ID. Permission : Team member\n * management.\n * Route attributes:\n * scope: groups.write\n * @function Dropbox#teamGroupsUpdate\n * @arg {TeamGroupUpdateArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGroupFullInfo>, DropboxResponseError.<TeamGroupUpdateError>>}\n */\n\n\nroutes.teamGroupsUpdate = function (arg) {\n return this.request('team/groups/update', arg, 'team', 'api', 'rpc', 'groups.write');\n};\n/**\n * Creates new legal hold policy. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsCreatePolicy\n * @arg {TeamLegalHoldsPolicyCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsPolicyCreateError>>}\n */\n\n\nroutes.teamLegalHoldsCreatePolicy = function (arg) {\n return this.request('team/legal_holds/create_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Gets a legal hold by Id. Note: Legal Holds is a paid add-on. Not all teams\n * have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsGetPolicy\n * @arg {TeamLegalHoldsGetPolicyArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsGetPolicyError>>}\n */\n\n\nroutes.teamLegalHoldsGetPolicy = function (arg) {\n return this.request('team/legal_holds/get_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * List the file metadata that's under the hold. Note: Legal Holds is a paid\n * add-on. Not all teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListHeldRevisions\n * @arg {TeamLegalHoldsListHeldRevisionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListHeldRevisionResult>, DropboxResponseError.<TeamLegalHoldsListHeldRevisionsError>>}\n */\n\n\nroutes.teamLegalHoldsListHeldRevisions = function (arg) {\n return this.request('team/legal_holds/list_held_revisions', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Continue listing the file metadata that's under the hold. Note: Legal Holds\n * is a paid add-on. Not all teams have the feature. Permission : Team member\n * file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListHeldRevisionsContinue\n * @arg {TeamLegalHoldsListHeldRevisionsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListHeldRevisionResult>, DropboxResponseError.<TeamLegalHoldsListHeldRevisionsError>>}\n */\n\n\nroutes.teamLegalHoldsListHeldRevisionsContinue = function (arg) {\n return this.request('team/legal_holds/list_held_revisions_continue', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Lists legal holds on a team. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsListPolicies\n * @arg {TeamLegalHoldsListPoliciesArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLegalHoldsListPoliciesResult>, DropboxResponseError.<TeamLegalHoldsListPoliciesError>>}\n */\n\n\nroutes.teamLegalHoldsListPolicies = function (arg) {\n return this.request('team/legal_holds/list_policies', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Releases a legal hold by Id. Note: Legal Holds is a paid add-on. Not all\n * teams have the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsReleasePolicy\n * @arg {TeamLegalHoldsPolicyReleaseArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamLegalHoldsPolicyReleaseError>>}\n */\n\n\nroutes.teamLegalHoldsReleasePolicy = function (arg) {\n return this.request('team/legal_holds/release_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * Updates a legal hold. Note: Legal Holds is a paid add-on. Not all teams have\n * the feature. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.governance.write\n * @function Dropbox#teamLegalHoldsUpdatePolicy\n * @arg {TeamLegalHoldsPolicyUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamLegalHoldsPolicyUpdateError>>}\n */\n\n\nroutes.teamLegalHoldsUpdatePolicy = function (arg) {\n return this.request('team/legal_holds/update_policy', arg, 'team', 'api', 'rpc', 'team_data.governance.write');\n};\n/**\n * List all linked applications of the team member. Note, this endpoint does not\n * list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListMemberLinkedApps\n * @arg {TeamListMemberAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMemberAppsResult>, DropboxResponseError.<TeamListMemberAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListMemberLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_member_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all applications linked to the team members' accounts. Note, this\n * endpoint does not list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListMembersLinkedApps\n * @arg {TeamListMembersAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListMembersAppsResult>, DropboxResponseError.<TeamListMembersAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListMembersLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_members_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * List all applications linked to the team members' accounts. Note, this\n * endpoint doesn't list any team-linked applications.\n * Route attributes:\n * scope: sessions.list\n * @function Dropbox#teamLinkedAppsListTeamLinkedApps\n * @deprecated\n * @arg {TeamListTeamAppsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamListTeamAppsResult>, DropboxResponseError.<TeamListTeamAppsError>>}\n */\n\n\nroutes.teamLinkedAppsListTeamLinkedApps = function (arg) {\n return this.request('team/linked_apps/list_team_linked_apps', arg, 'team', 'api', 'rpc', 'sessions.list');\n};\n/**\n * Revoke a linked application of the team member.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamLinkedAppsRevokeLinkedApp\n * @arg {TeamRevokeLinkedApiAppArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamRevokeLinkedAppError>>}\n */\n\n\nroutes.teamLinkedAppsRevokeLinkedApp = function (arg) {\n return this.request('team/linked_apps/revoke_linked_app', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Revoke a list of linked applications of the team members.\n * Route attributes:\n * scope: sessions.modify\n * @function Dropbox#teamLinkedAppsRevokeLinkedAppBatch\n * @arg {TeamRevokeLinkedApiAppBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamRevokeLinkedAppBatchResult>, DropboxResponseError.<TeamRevokeLinkedAppBatchError>>}\n */\n\n\nroutes.teamLinkedAppsRevokeLinkedAppBatch = function (arg) {\n return this.request('team/linked_apps/revoke_linked_app_batch', arg, 'team', 'api', 'rpc', 'sessions.modify');\n};\n/**\n * Add users to member space limits excluded users list.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersAdd\n * @arg {TeamExcludedUsersUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersUpdateResult>, DropboxResponseError.<TeamExcludedUsersUpdateError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersAdd = function (arg) {\n return this.request('team/member_space_limits/excluded_users/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * List member space limits excluded users.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersList\n * @arg {TeamExcludedUsersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersListResult>, DropboxResponseError.<TeamExcludedUsersListError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersList = function (arg) {\n return this.request('team/member_space_limits/excluded_users/list', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Continue listing member space limits excluded users.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersListContinue\n * @arg {TeamExcludedUsersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersListResult>, DropboxResponseError.<TeamExcludedUsersListContinueError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersListContinue = function (arg) {\n return this.request('team/member_space_limits/excluded_users/list/continue', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Remove users from member space limits excluded users list.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsExcludedUsersRemove\n * @arg {TeamExcludedUsersUpdateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamExcludedUsersUpdateResult>, DropboxResponseError.<TeamExcludedUsersUpdateError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsExcludedUsersRemove = function (arg) {\n return this.request('team/member_space_limits/excluded_users/remove', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Get users custom quota. Returns none as the custom quota if none was set. A\n * maximum of 1000 members can be specified in a single call.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsGetCustomQuota\n * @arg {TeamCustomQuotaUsersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamCustomQuotaResult>>, DropboxResponseError.<TeamCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsGetCustomQuota = function (arg) {\n return this.request('team/member_space_limits/get_custom_quota', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Remove users custom quota. A maximum of 1000 members can be specified in a\n * single call.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMemberSpaceLimitsRemoveCustomQuota\n * @arg {TeamCustomQuotaUsersArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamRemoveCustomQuotaResult>>, DropboxResponseError.<TeamCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsRemoveCustomQuota = function (arg) {\n return this.request('team/member_space_limits/remove_custom_quota', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Set users custom quota. Custom quota has to be at least 15GB. A maximum of\n * 1000 members can be specified in a single call.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMemberSpaceLimitsSetCustomQuota\n * @arg {TeamSetCustomQuotaArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamCustomQuotaResult>>, DropboxResponseError.<TeamSetCustomQuotaError>>}\n */\n\n\nroutes.teamMemberSpaceLimitsSetCustomQuota = function (arg) {\n return this.request('team/member_space_limits/set_custom_quota', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Adds members to a team. Permission : Team member management A maximum of 20\n * members can be specified in a single call. If no Dropbox account exists with\n * the email address specified, a new Dropbox account will be created with the\n * given email address, and that account will be invited to the team. If a\n * personal Dropbox account exists with the email address specified in the call,\n * this call will create a placeholder Dropbox account for the user on the team\n * and send an email inviting the user to migrate their existing personal\n * account onto the team. Team member management apps are required to set an\n * initial given_name and surname for a user to use in the team invitation and\n * for 'Perform as team member' actions taken on the user before they become\n * 'active'.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddV2\n * @arg {TeamMembersAddV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddLaunchV2Result>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersAddV2 = function (arg) {\n return this.request('team/members/add_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Adds members to a team. Permission : Team member management A maximum of 20\n * members can be specified in a single call. If no Dropbox account exists with\n * the email address specified, a new Dropbox account will be created with the\n * given email address, and that account will be invited to the team. If a\n * personal Dropbox account exists with the email address specified in the call,\n * this call will create a placeholder Dropbox account for the user on the team\n * and send an email inviting the user to migrate their existing personal\n * account onto the team. Team member management apps are required to set an\n * initial given_name and surname for a user to use in the team invitation and\n * for 'Perform as team member' actions taken on the user before they become\n * 'active'.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAdd\n * @arg {TeamMembersAddArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddLaunch>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersAdd = function (arg) {\n return this.request('team/members/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/add_v2 , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddJobStatusGetV2\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddJobStatusV2Result>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersAddJobStatusGetV2 = function (arg) {\n return this.request('team/members/add/job_status/get_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/add , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersAddJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersAddJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersAddJobStatusGet = function (arg) {\n return this.request('team/members/add/job_status/get', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Deletes a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersDeleteProfilePhotoV2\n * @arg {TeamMembersDeleteProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersDeleteProfilePhotoError>>}\n */\n\n\nroutes.teamMembersDeleteProfilePhotoV2 = function (arg) {\n return this.request('team/members/delete_profile_photo_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Deletes a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersDeleteProfilePhoto\n * @arg {TeamMembersDeleteProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersDeleteProfilePhotoError>>}\n */\n\n\nroutes.teamMembersDeleteProfilePhoto = function (arg) {\n return this.request('team/members/delete_profile_photo', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Get available TeamMemberRoles for the connected team. To be used with\n * members/set_admin_permissions_v2. Permission : Team member management.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetAvailableTeamMemberRoles\n * @returns {Promise.<DropboxResponse<TeamMembersGetAvailableTeamMemberRolesResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersGetAvailableTeamMemberRoles = function () {\n return this.request('team/members/get_available_team_member_roles', null, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Returns information about multiple team members. Permission : Team\n * information This endpoint will return MembersGetInfoItem.id_not_found, for\n * IDs (or emails) that cannot be matched to a valid team member.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetInfoV2\n * @arg {TeamMembersGetInfoV2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersGetInfoV2Result>, DropboxResponseError.<TeamMembersGetInfoError>>}\n */\n\n\nroutes.teamMembersGetInfoV2 = function (arg) {\n return this.request('team/members/get_info_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Returns information about multiple team members. Permission : Team\n * information This endpoint will return MembersGetInfoItem.id_not_found, for\n * IDs (or emails) that cannot be matched to a valid team member.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersGetInfo\n * @arg {TeamMembersGetInfoArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<TeamMembersGetInfoError>>}\n */\n\n\nroutes.teamMembersGetInfo = function (arg) {\n return this.request('team/members/get_info', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Lists members of a team. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListV2\n * @arg {TeamMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListV2Result>, DropboxResponseError.<TeamMembersListError>>}\n */\n\n\nroutes.teamMembersListV2 = function (arg) {\n return this.request('team/members/list_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Lists members of a team. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersList\n * @arg {TeamMembersListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListResult>, DropboxResponseError.<TeamMembersListError>>}\n */\n\n\nroutes.teamMembersList = function (arg) {\n return this.request('team/members/list', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Once a cursor has been retrieved from members/list_v2, use this to paginate\n * through all team members. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListContinueV2\n * @arg {TeamMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListV2Result>, DropboxResponseError.<TeamMembersListContinueError>>}\n */\n\n\nroutes.teamMembersListContinueV2 = function (arg) {\n return this.request('team/members/list/continue_v2', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Once a cursor has been retrieved from members/list, use this to paginate\n * through all team members. Permission : Team information.\n * Route attributes:\n * scope: members.read\n * @function Dropbox#teamMembersListContinue\n * @arg {TeamMembersListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersListResult>, DropboxResponseError.<TeamMembersListContinueError>>}\n */\n\n\nroutes.teamMembersListContinue = function (arg) {\n return this.request('team/members/list/continue', arg, 'team', 'api', 'rpc', 'members.read');\n};\n/**\n * Moves removed member's files to a different member. This endpoint initiates\n * an asynchronous job. To obtain the final result of the job, the client should\n * periodically poll members/move_former_member_files/job_status/check.\n * Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersMoveFormerMemberFiles\n * @arg {TeamMembersDataTransferArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamMembersTransferFormerMembersFilesError>>}\n */\n\n\nroutes.teamMembersMoveFormerMemberFiles = function (arg) {\n return this.request('team/members/move_former_member_files', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Once an async_job_id is returned from members/move_former_member_files , use\n * this to poll the status of the asynchronous request. Permission : Team member\n * management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersMoveFormerMemberFilesJobStatusCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersMoveFormerMemberFilesJobStatusCheck = function (arg) {\n return this.request('team/members/move_former_member_files/job_status/check', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Recover a deleted member. Permission : Team member management Exactly one of\n * team_member_id, email, or external_id must be provided to identify the user\n * account.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRecover\n * @arg {TeamMembersRecoverArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersRecoverError>>}\n */\n\n\nroutes.teamMembersRecover = function (arg) {\n return this.request('team/members/recover', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Removes a member from a team. Permission : Team member management Exactly one\n * of team_member_id, email, or external_id must be provided to identify the\n * user account. Accounts can be recovered via members/recover for a 7 day\n * period or until the account has been permanently deleted or transferred to\n * another account (whichever comes first). Calling members/add while a user is\n * still recoverable on your team will return with\n * MemberAddResult.user_already_on_team. Accounts can have their files\n * transferred via the admin console for a limited time, based on the version\n * history length associated with the team (180 days for most teams). This\n * endpoint may initiate an asynchronous job. To obtain the final result of the\n * job, the client should periodically poll members/remove/job_status/get.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRemove\n * @arg {TeamMembersRemoveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncLaunchEmptyResult>, DropboxResponseError.<TeamMembersRemoveError>>}\n */\n\n\nroutes.teamMembersRemove = function (arg) {\n return this.request('team/members/remove', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Once an async_job_id is returned from members/remove , use this to poll the\n * status of the asynchronous request. Permission : Team member management.\n * Route attributes:\n * scope: members.delete\n * @function Dropbox#teamMembersRemoveJobStatusGet\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<AsyncPollEmptyResult>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamMembersRemoveJobStatusGet = function (arg) {\n return this.request('team/members/remove/job_status/get', arg, 'team', 'api', 'rpc', 'members.delete');\n};\n/**\n * Add secondary emails to users. Permission : Team member management. Emails\n * that are on verified domains will be verified automatically. For each email\n * address not on a verified domain a verification email will be sent.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsAdd\n * @arg {TeamAddSecondaryEmailsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamAddSecondaryEmailsResult>, DropboxResponseError.<TeamAddSecondaryEmailsError>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsAdd = function (arg) {\n return this.request('team/members/secondary_emails/add', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Delete secondary emails from users Permission : Team member management. Users\n * will be notified of deletions of verified secondary emails at both the\n * secondary email and their primary email.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsDelete\n * @arg {TeamDeleteSecondaryEmailsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamDeleteSecondaryEmailsResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsDelete = function (arg) {\n return this.request('team/members/secondary_emails/delete', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Resend secondary email verification emails. Permission : Team member\n * management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSecondaryEmailsResendVerificationEmails\n * @arg {TeamResendVerificationEmailArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamResendVerificationEmailResult>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamMembersSecondaryEmailsResendVerificationEmails = function (arg) {\n return this.request('team/members/secondary_emails/resend_verification_emails', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Sends welcome email to pending team member. Permission : Team member\n * management Exactly one of team_member_id, email, or external_id must be\n * provided to identify the user account. No-op if team member is not pending.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSendWelcomeEmail\n * @arg {TeamUserSelectorArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersSendWelcomeError>>}\n */\n\n\nroutes.teamMembersSendWelcomeEmail = function (arg) {\n return this.request('team/members/send_welcome_email', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's permissions. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetAdminPermissionsV2\n * @arg {TeamMembersSetPermissions2Arg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersSetPermissions2Result>, DropboxResponseError.<TeamMembersSetPermissions2Error>>}\n */\n\n\nroutes.teamMembersSetAdminPermissionsV2 = function (arg) {\n return this.request('team/members/set_admin_permissions_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's permissions. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetAdminPermissions\n * @arg {TeamMembersSetPermissionsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamMembersSetPermissionsResult>, DropboxResponseError.<TeamMembersSetPermissionsError>>}\n */\n\n\nroutes.teamMembersSetAdminPermissions = function (arg) {\n return this.request('team/members/set_admin_permissions', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfileV2\n * @arg {TeamMembersSetProfileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersSetProfileError>>}\n */\n\n\nroutes.teamMembersSetProfileV2 = function (arg) {\n return this.request('team/members/set_profile_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfile\n * @arg {TeamMembersSetProfileArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersSetProfileError>>}\n */\n\n\nroutes.teamMembersSetProfile = function (arg) {\n return this.request('team/members/set_profile', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfilePhotoV2\n * @arg {TeamMembersSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfoV2Result>, DropboxResponseError.<TeamMembersSetProfilePhotoError>>}\n */\n\n\nroutes.teamMembersSetProfilePhotoV2 = function (arg) {\n return this.request('team/members/set_profile_photo_v2', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Updates a team member's profile photo. Permission : Team member management.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSetProfilePhoto\n * @arg {TeamMembersSetProfilePhotoArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamMemberInfo>, DropboxResponseError.<TeamMembersSetProfilePhotoError>>}\n */\n\n\nroutes.teamMembersSetProfilePhoto = function (arg) {\n return this.request('team/members/set_profile_photo', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Suspend a member from a team. Permission : Team member management Exactly one\n * of team_member_id, email, or external_id must be provided to identify the\n * user account.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersSuspend\n * @arg {TeamMembersDeactivateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersSuspendError>>}\n */\n\n\nroutes.teamMembersSuspend = function (arg) {\n return this.request('team/members/suspend', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Unsuspend a member from a team. Permission : Team member management Exactly\n * one of team_member_id, email, or external_id must be provided to identify the\n * user account.\n * Route attributes:\n * scope: members.write\n * @function Dropbox#teamMembersUnsuspend\n * @arg {TeamMembersUnsuspendArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamMembersUnsuspendError>>}\n */\n\n\nroutes.teamMembersUnsuspend = function (arg) {\n return this.request('team/members/unsuspend', arg, 'team', 'api', 'rpc', 'members.write');\n};\n/**\n * Returns a list of all team-accessible namespaces. This list includes team\n * folders, shared folders containing team members, team members' home\n * namespaces, and team members' app folders. Home namespaces and app folders\n * are always owned by this team or members of the team, but shared folders may\n * be owned by other users or other teams. Duplicates may occur in the list.\n * Route attributes:\n * scope: team_data.member\n * @function Dropbox#teamNamespacesList\n * @arg {TeamTeamNamespacesListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamNamespacesListResult>, DropboxResponseError.<TeamTeamNamespacesListError>>}\n */\n\n\nroutes.teamNamespacesList = function (arg) {\n return this.request('team/namespaces/list', arg, 'team', 'api', 'rpc', 'team_data.member');\n};\n/**\n * Once a cursor has been retrieved from namespaces/list, use this to paginate\n * through all team-accessible namespaces. Duplicates may occur in the list.\n * Route attributes:\n * scope: team_data.member\n * @function Dropbox#teamNamespacesListContinue\n * @arg {TeamTeamNamespacesListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamNamespacesListResult>, DropboxResponseError.<TeamTeamNamespacesListContinueError>>}\n */\n\n\nroutes.teamNamespacesListContinue = function (arg) {\n return this.request('team/namespaces/list/continue', arg, 'team', 'api', 'rpc', 'team_data.member');\n};\n/**\n * Permission : Team member file access.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateAdd\n * @deprecated\n * @arg {FilePropertiesAddTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesAddTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateAdd = function (arg) {\n return this.request('team/properties/template/add', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access. The scope for the route is\n * files.team_metadata.write.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateGet\n * @deprecated\n * @arg {FilePropertiesGetTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesGetTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateGet = function (arg) {\n return this.request('team/properties/template/get', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access. The scope for the route is\n * files.team_metadata.write.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateList\n * @deprecated\n * @returns {Promise.<DropboxResponse<FilePropertiesListTemplateResult>, DropboxResponseError.<FilePropertiesTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateList = function () {\n return this.request('team/properties/template/list', null, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Permission : Team member file access.\n * Route attributes:\n * scope: files.team_metadata.write\n * @function Dropbox#teamPropertiesTemplateUpdate\n * @deprecated\n * @arg {FilePropertiesUpdateTemplateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<FilePropertiesUpdateTemplateResult>, DropboxResponseError.<FilePropertiesModifyTemplateError>>}\n */\n\n\nroutes.teamPropertiesTemplateUpdate = function (arg) {\n return this.request('team/properties/template/update', arg, 'team', 'api', 'rpc', 'files.team_metadata.write');\n};\n/**\n * Retrieves reporting data about a team's user activity. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetActivity\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetActivityReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetActivity = function (arg) {\n return this.request('team/reports/get_activity', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's linked devices. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetDevices\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetDevicesReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetDevices = function (arg) {\n return this.request('team/reports/get_devices', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's membership. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetMembership\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetMembershipReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetMembership = function (arg) {\n return this.request('team/reports/get_membership', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves reporting data about a team's storage usage. Deprecated: Will be\n * removed on July 1st 2021.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamReportsGetStorage\n * @deprecated\n * @arg {TeamDateRange} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamGetStorageReport>, DropboxResponseError.<TeamDateRangeError>>}\n */\n\n\nroutes.teamReportsGetStorage = function (arg) {\n return this.request('team/reports/get_storage', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Endpoint adds Approve List entries. Changes are effective immediately.\n * Changes are committed in transaction. In case of single validation error -\n * all entries are rejected. Valid domains (RFC-1034/5) and emails\n * (RFC-5322/822) are accepted. Added entries cannot overflow limit of 10000\n * entries per team. Maximum 100 entries per call is allowed.\n * Route attributes:\n * scope: team_info.write\n * @function Dropbox#teamSharingAllowlistAdd\n * @arg {TeamSharingAllowlistAddArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistAddResponse>, DropboxResponseError.<TeamSharingAllowlistAddError>>}\n */\n\n\nroutes.teamSharingAllowlistAdd = function (arg) {\n return this.request('team/sharing_allowlist/add', arg, 'team', 'api', 'rpc', 'team_info.write');\n};\n/**\n * Lists Approve List entries for given team, from newest to oldest, returning\n * up to `limit` entries at a time. If there are more than `limit` entries\n * associated with the current team, more can be fetched by passing the returned\n * `cursor` to sharing_allowlist/list/continue.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamSharingAllowlistList\n * @arg {TeamSharingAllowlistListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistListResponse>, DropboxResponseError.<TeamSharingAllowlistListError>>}\n */\n\n\nroutes.teamSharingAllowlistList = function (arg) {\n return this.request('team/sharing_allowlist/list', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Lists entries associated with given team, starting from a the cursor. See\n * sharing_allowlist/list.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamSharingAllowlistListContinue\n * @arg {TeamSharingAllowlistListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistListResponse>, DropboxResponseError.<TeamSharingAllowlistListContinueError>>}\n */\n\n\nroutes.teamSharingAllowlistListContinue = function (arg) {\n return this.request('team/sharing_allowlist/list/continue', arg, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Endpoint removes Approve List entries. Changes are effective immediately.\n * Changes are committed in transaction. In case of single validation error -\n * all entries are rejected. Valid domains (RFC-1034/5) and emails\n * (RFC-5322/822) are accepted. Entries being removed have to be present on the\n * list. Maximum 1000 entries per call is allowed.\n * Route attributes:\n * scope: team_info.write\n * @function Dropbox#teamSharingAllowlistRemove\n * @arg {TeamSharingAllowlistRemoveArgs} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamSharingAllowlistRemoveResponse>, DropboxResponseError.<TeamSharingAllowlistRemoveError>>}\n */\n\n\nroutes.teamSharingAllowlistRemove = function (arg) {\n return this.request('team/sharing_allowlist/remove', arg, 'team', 'api', 'rpc', 'team_info.write');\n};\n/**\n * Sets an archived team folder's status to active. Permission : Team member\n * file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderActivate\n * @arg {TeamTeamFolderIdArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderActivateError>>}\n */\n\n\nroutes.teamTeamFolderActivate = function (arg) {\n return this.request('team/team_folder/activate', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Sets an active team folder's status to archived and removes all folder and\n * file members. This endpoint cannot be used for teams that have a shared team\n * space. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderArchive\n * @arg {TeamTeamFolderArchiveArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderArchiveLaunch>, DropboxResponseError.<TeamTeamFolderArchiveError>>}\n */\n\n\nroutes.teamTeamFolderArchive = function (arg) {\n return this.request('team/team_folder/archive', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Returns the status of an asynchronous job for archiving a team folder.\n * Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderArchiveCheck\n * @arg {AsyncPollArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderArchiveJobStatus>, DropboxResponseError.<AsyncPollError>>}\n */\n\n\nroutes.teamTeamFolderArchiveCheck = function (arg) {\n return this.request('team/team_folder/archive/check', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Creates a new, active, team folder with no members. This endpoint can only be\n * used for teams that do not already have a shared team space. Permission :\n * Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderCreate\n * @arg {TeamTeamFolderCreateArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderCreateError>>}\n */\n\n\nroutes.teamTeamFolderCreate = function (arg) {\n return this.request('team/team_folder/create', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Retrieves metadata for team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderGetInfo\n * @arg {TeamTeamFolderIdListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Array.<TeamTeamFolderGetInfoItem>>, DropboxResponseError.<void>>}\n */\n\n\nroutes.teamTeamFolderGetInfo = function (arg) {\n return this.request('team/team_folder/get_info', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Lists all team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderList\n * @arg {TeamTeamFolderListArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderListResult>, DropboxResponseError.<TeamTeamFolderListError>>}\n */\n\n\nroutes.teamTeamFolderList = function (arg) {\n return this.request('team/team_folder/list', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Once a cursor has been retrieved from team_folder/list, use this to paginate\n * through all team folders. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.read\n * @function Dropbox#teamTeamFolderListContinue\n * @arg {TeamTeamFolderListContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderListResult>, DropboxResponseError.<TeamTeamFolderListContinueError>>}\n */\n\n\nroutes.teamTeamFolderListContinue = function (arg) {\n return this.request('team/team_folder/list/continue', arg, 'team', 'api', 'rpc', 'team_data.content.read');\n};\n/**\n * Permanently deletes an archived team folder. This endpoint cannot be used for\n * teams that have a shared team space. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderPermanentlyDelete\n * @arg {TeamTeamFolderIdArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<void>, DropboxResponseError.<TeamTeamFolderPermanentlyDeleteError>>}\n */\n\n\nroutes.teamTeamFolderPermanentlyDelete = function (arg) {\n return this.request('team/team_folder/permanently_delete', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Changes an active team folder's name. Permission : Team member file access.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderRename\n * @arg {TeamTeamFolderRenameArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderRenameError>>}\n */\n\n\nroutes.teamTeamFolderRename = function (arg) {\n return this.request('team/team_folder/rename', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Updates the sync settings on a team folder or its contents. Use of this\n * endpoint requires that the team has team selective sync enabled.\n * Route attributes:\n * scope: team_data.content.write\n * @function Dropbox#teamTeamFolderUpdateSyncSettings\n * @arg {TeamTeamFolderUpdateSyncSettingsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamTeamFolderMetadata>, DropboxResponseError.<TeamTeamFolderUpdateSyncSettingsError>>}\n */\n\n\nroutes.teamTeamFolderUpdateSyncSettings = function (arg) {\n return this.request('team/team_folder/update_sync_settings', arg, 'team', 'api', 'rpc', 'team_data.content.write');\n};\n/**\n * Returns the member profile of the admin who generated the team access token\n * used to make the call.\n * Route attributes:\n * scope: team_info.read\n * @function Dropbox#teamTokenGetAuthenticatedAdmin\n * @returns {Promise.<DropboxResponse<TeamTokenGetAuthenticatedAdminResult>, DropboxResponseError.<TeamTokenGetAuthenticatedAdminError>>}\n */\n\n\nroutes.teamTokenGetAuthenticatedAdmin = function () {\n return this.request('team/token/get_authenticated_admin', null, 'team', 'api', 'rpc', 'team_info.read');\n};\n/**\n * Retrieves team events. If the result's GetTeamEventsResult.has_more field is\n * true, call get_events/continue with the returned cursor to retrieve more\n * entries. If end_time is not specified in your request, you may use the\n * returned cursor to poll get_events/continue for new events. Many attributes\n * note 'may be missing due to historical data gap'. Note that the\n * file_operations category and & analogous paper events are not available on\n * all Dropbox Business plans /business/plans-comparison. Use\n * features/get_values\n * /developers/documentation/http/teams#team-features-get_values to check for\n * this feature. Permission : Team Auditing.\n * Route attributes:\n * scope: events.read\n * @function Dropbox#teamLogGetEvents\n * @arg {TeamLogGetTeamEventsArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLogGetTeamEventsResult>, DropboxResponseError.<TeamLogGetTeamEventsError>>}\n */\n\n\nroutes.teamLogGetEvents = function (arg) {\n return this.request('team_log/get_events', arg, 'team', 'api', 'rpc', 'events.read');\n};\n/**\n * Once a cursor has been retrieved from get_events, use this to paginate\n * through all events. Permission : Team Auditing.\n * Route attributes:\n * scope: events.read\n * @function Dropbox#teamLogGetEventsContinue\n * @arg {TeamLogGetTeamEventsContinueArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<TeamLogGetTeamEventsResult>, DropboxResponseError.<TeamLogGetTeamEventsContinueError>>}\n */\n\n\nroutes.teamLogGetEventsContinue = function (arg) {\n return this.request('team_log/get_events/continue', arg, 'team', 'api', 'rpc', 'events.read');\n};\n/**\n * Get a list of feature values that may be configured for the current account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersFeaturesGetValues\n * @arg {UsersUserFeaturesGetValuesBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<UsersUserFeaturesGetValuesBatchResult>, DropboxResponseError.<UsersUserFeaturesGetValuesBatchError>>}\n */\n\n\nroutes.usersFeaturesGetValues = function (arg) {\n return this.request('users/features/get_values', arg, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Get information about a user's account.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#usersGetAccount\n * @arg {UsersGetAccountArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<UsersBasicAccount>, DropboxResponseError.<UsersGetAccountError>>}\n */\n\n\nroutes.usersGetAccount = function (arg) {\n return this.request('users/get_account', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get information about multiple user accounts. At most 300 accounts may be\n * queried per request.\n * Route attributes:\n * scope: sharing.read\n * @function Dropbox#usersGetAccountBatch\n * @arg {UsersGetAccountBatchArg} arg - The request parameters.\n * @returns {Promise.<DropboxResponse<Object>, DropboxResponseError.<UsersGetAccountBatchError>>}\n */\n\n\nroutes.usersGetAccountBatch = function (arg) {\n return this.request('users/get_account_batch', arg, 'user', 'api', 'rpc', 'sharing.read');\n};\n/**\n * Get information about the current user's account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersGetCurrentAccount\n * @returns {Promise.<DropboxResponse<UsersFullAccount>, DropboxResponseError.<void>>}\n */\n\n\nroutes.usersGetCurrentAccount = function () {\n return this.request('users/get_current_account', null, 'user', 'api', 'rpc', 'account_info.read');\n};\n/**\n * Get the space usage information for the current user's account.\n * Route attributes:\n * scope: account_info.read\n * @function Dropbox#usersGetSpaceUsage\n * @returns {Promise.<DropboxResponse<UsersSpaceUsage>, DropboxResponseError.<void>>}\n */\n\n\nroutes.usersGetSpaceUsage = function () {\n return this.request('users/get_space_usage', null, 'user', 'api', 'rpc', 'account_info.read');\n};\n\nexport { routes };","import { DEFAULT_API_DOMAIN, DEFAULT_DOMAIN, TEST_DOMAIN_MAPPINGS } from './constants';\n\nfunction getSafeUnicode(c) {\n var unicode = \"000\".concat(c.charCodeAt(0).toString(16)).slice(-4);\n return \"\\\\u\".concat(unicode);\n}\n\nexport var baseApiUrl = function baseApiUrl(subdomain) {\n var domain = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_API_DOMAIN;\n var domainDelimiter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n\n if (!domainDelimiter) {\n return \"https://\".concat(domain, \"/2/\");\n }\n\n if (domain !== DEFAULT_API_DOMAIN && TEST_DOMAIN_MAPPINGS[subdomain] !== undefined) {\n subdomain = TEST_DOMAIN_MAPPINGS[subdomain];\n domainDelimiter = '-';\n }\n\n return \"https://\".concat(subdomain).concat(domainDelimiter).concat(domain, \"/2/\");\n};\nexport var OAuth2AuthorizationUrl = function OAuth2AuthorizationUrl() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_DOMAIN;\n\n if (domain !== DEFAULT_DOMAIN) {\n domain = \"meta-\".concat(domain);\n }\n\n return \"https://\".concat(domain, \"/oauth2/authorize\");\n};\nexport var OAuth2TokenUrl = function OAuth2TokenUrl() {\n var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_API_DOMAIN;\n var domainDelimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.';\n var subdomain = 'api';\n\n if (domain !== DEFAULT_API_DOMAIN) {\n subdomain = TEST_DOMAIN_MAPPINGS[subdomain];\n domainDelimiter = '-';\n }\n\n return \"https://\".concat(subdomain).concat(domainDelimiter).concat(domain, \"/oauth2/token\");\n}; // source https://www.dropboxforum.com/t5/API-support/HTTP-header-quot-Dropbox-API-Arg-quot-could-not-decode-input-as/m-p/173823/highlight/true#M6786\n\nexport function httpHeaderSafeJson(args) {\n return JSON.stringify(args).replace(/[\\u007f-\\uffff]/g, getSafeUnicode);\n}\nexport function getTokenExpiresAtDate(expiresIn) {\n return new Date(Date.now() + expiresIn * 1000);\n}\n/* global WorkerGlobalScope */\n\nexport function isWindowOrWorker() {\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope // eslint-disable-line no-restricted-globals\n || typeof module === 'undefined' || typeof window !== 'undefined';\n}\nexport function isBrowserEnv() {\n return typeof window !== 'undefined';\n}\nexport function isWorkerEnv() {\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; // eslint-disable-line no-restricted-globals\n}\nexport function createBrowserSafeString(toBeConverted) {\n var convertedString = toBeConverted.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n return convertedString;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * The response class of HTTP errors from API calls using the Dropbox SDK.\n * @class DropboxResponseError\n * @classdesc The response class of HTTP errors from API calls using the Dropbox SDK.\n * @arg {number} status - HTTP Status code of the call\n * @arg {Object} headers - Headers returned from the call\n * @arg {Object} error - Serialized Error of the call\n */\nexport var DropboxResponseError = /*#__PURE__*/function (_Error) {\n _inherits(DropboxResponseError, _Error);\n\n var _super = _createSuper(DropboxResponseError);\n\n function DropboxResponseError(status, headers, error) {\n var _this;\n\n _classCallCheck(this, DropboxResponseError);\n\n _this = _super.call(this, \"Response failed with a \".concat(status, \" code\"));\n _this.name = 'DropboxResponseError';\n _this.status = status;\n _this.headers = headers;\n _this.error = error;\n return _this;\n }\n\n return DropboxResponseError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isWindowOrWorker } from './utils.js';\nimport { DropboxResponseError } from './error.js';\nexport var DropboxResponse = function DropboxResponse(status, headers, result) {\n _classCallCheck(this, DropboxResponse);\n\n this.status = status;\n this.headers = headers;\n this.result = result;\n};\n\nfunction throwAsError(res) {\n return res.text().then(function (data) {\n var errorObject;\n\n try {\n errorObject = JSON.parse(data);\n } catch (error) {\n errorObject = data;\n }\n\n throw new DropboxResponseError(res.status, res.headers, errorObject);\n });\n}\n\nexport function parseResponse(res) {\n if (!res.ok) {\n return throwAsError(res);\n }\n\n return res.text().then(function (data) {\n var responseObject;\n\n try {\n responseObject = JSON.parse(data);\n } catch (error) {\n responseObject = data;\n }\n\n return new DropboxResponse(res.status, res.headers, responseObject);\n });\n}\nexport function parseDownloadResponse(res) {\n if (!res.ok) {\n return throwAsError(res);\n }\n\n return new Promise(function (resolve) {\n if (isWindowOrWorker()) {\n res.blob().then(function (data) {\n return resolve(data);\n });\n } else {\n res.buffer().then(function (data) {\n return resolve(data);\n });\n }\n }).then(function (data) {\n var result = JSON.parse(res.headers.get('dropbox-api-result'));\n\n if (isWindowOrWorker()) {\n result.fileBlob = data;\n } else {\n result.fileBinary = data;\n }\n\n return new DropboxResponse(res.status, res.headers, result);\n });\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { getTokenExpiresAtDate, isBrowserEnv, createBrowserSafeString, OAuth2AuthorizationUrl, OAuth2TokenUrl, isWorkerEnv } from './utils.js';\nimport { parseResponse } from './response.js';\nvar fetch;\nvar crypto;\nvar Encoder; // Expiration is 300 seconds but needs to be in milliseconds for Date object\n\nvar TokenExpirationBuffer = 300 * 1000;\nvar PKCELength = 128;\nvar TokenAccessTypes = ['legacy', 'offline', 'online'];\nvar GrantTypes = ['code', 'token'];\nvar IncludeGrantedScopes = ['none', 'user', 'team'];\n/**\n * @class DropboxAuth\n * @classdesc The DropboxAuth class that provides methods to manage, acquire, and refresh tokens.\n * @arg {Object} options\n * @arg {Function} [options.fetch] - fetch library for making requests.\n * @arg {String} [options.accessToken] - An access token for making authenticated\n * requests.\n * @arg {Date} [options.AccessTokenExpiresAt] - Date of the current access token's\n * expiration (if available)\n * @arg {String} [options.refreshToken] - A refresh token for retrieving access tokens\n * @arg {String} [options.clientId] - The client id for your app. Used to create\n * authentication URL.\n * @arg {String} [options.clientSecret] - The client secret for your app. Used to create\n * authentication URL and refresh access tokens.\n * @arg {String} [options.domain] - A custom domain to use when making api requests. This\n * should only be used for testing as scaffolding to avoid making network requests.\n * @arg {String} [options.domainDelimiter] - A custom delimiter to use when separating domain from\n * subdomain. This should only be used for testing as scaffolding.\n * @arg {Object} [options.customHeaders] - An object (in the form of header: value) designed to set\n * custom headers to use during a request.\n * @arg {Boolean} [options.dataOnBody] - Whether request data is sent on body or as URL params.\n * Defaults to false.\n*/\n\nvar DropboxAuth = /*#__PURE__*/function () {\n function DropboxAuth(options) {\n _classCallCheck(this, DropboxAuth);\n\n options = options || {};\n\n if (isBrowserEnv()) {\n fetch = window.fetch.bind(window);\n crypto = window.crypto || window.msCrypto; // for IE11\n } else if (isWorkerEnv()) {\n /* eslint-disable no-restricted-globals */\n fetch = self.fetch.bind(self);\n crypto = self.crypto;\n /* eslint-enable no-restricted-globals */\n } else {\n fetch = require('node-fetch'); // eslint-disable-line global-require\n\n crypto = require('crypto'); // eslint-disable-line global-require\n }\n\n if (typeof TextEncoder === 'undefined') {\n Encoder = require('util').TextEncoder; // eslint-disable-line global-require\n } else {\n Encoder = TextEncoder;\n }\n\n this.fetch = options.fetch || fetch;\n this.accessToken = options.accessToken;\n this.accessTokenExpiresAt = options.accessTokenExpiresAt;\n this.refreshToken = options.refreshToken;\n this.clientId = options.clientId;\n this.clientSecret = options.clientSecret;\n this.domain = options.domain;\n this.domainDelimiter = options.domainDelimiter;\n this.customHeaders = options.customHeaders;\n this.dataOnBody = options.dataOnBody;\n }\n /**\n * Set the access token used to authenticate requests to the API.\n * @arg {String} accessToken - An access token\n * @returns {undefined}\n */\n\n\n _createClass(DropboxAuth, [{\n key: \"setAccessToken\",\n value: function setAccessToken(accessToken) {\n this.accessToken = accessToken;\n }\n /**\n * Get the access token\n * @returns {String} Access token\n */\n\n }, {\n key: \"getAccessToken\",\n value: function getAccessToken() {\n return this.accessToken;\n }\n /**\n * Set the client id, which is used to help gain an access token.\n * @arg {String} clientId - Your apps client id\n * @returns {undefined}\n */\n\n }, {\n key: \"setClientId\",\n value: function setClientId(clientId) {\n this.clientId = clientId;\n }\n /**\n * Get the client id\n * @returns {String} Client id\n */\n\n }, {\n key: \"getClientId\",\n value: function getClientId() {\n return this.clientId;\n }\n /**\n * Set the client secret\n * @arg {String} clientSecret - Your app's client secret\n * @returns {undefined}\n */\n\n }, {\n key: \"setClientSecret\",\n value: function setClientSecret(clientSecret) {\n this.clientSecret = clientSecret;\n }\n /**\n * Get the client secret\n * @returns {String} Client secret\n */\n\n }, {\n key: \"getClientSecret\",\n value: function getClientSecret() {\n return this.clientSecret;\n }\n /**\n * Gets the refresh token\n * @returns {String} Refresh token\n */\n\n }, {\n key: \"getRefreshToken\",\n value: function getRefreshToken() {\n return this.refreshToken;\n }\n /**\n * Sets the refresh token\n * @param refreshToken - A refresh token\n */\n\n }, {\n key: \"setRefreshToken\",\n value: function setRefreshToken(refreshToken) {\n this.refreshToken = refreshToken;\n }\n /**\n * Gets the access token's expiration date\n * @returns {Date} date of token expiration\n */\n\n }, {\n key: \"getAccessTokenExpiresAt\",\n value: function getAccessTokenExpiresAt() {\n return this.accessTokenExpiresAt;\n }\n /**\n * Sets the access token's expiration date\n * @param accessTokenExpiresAt - new expiration date\n */\n\n }, {\n key: \"setAccessTokenExpiresAt\",\n value: function setAccessTokenExpiresAt(accessTokenExpiresAt) {\n this.accessTokenExpiresAt = accessTokenExpiresAt;\n }\n /**\n * Sets the code verifier for PKCE flow\n * @param {String} codeVerifier - new code verifier\n */\n\n }, {\n key: \"setCodeVerifier\",\n value: function setCodeVerifier(codeVerifier) {\n this.codeVerifier = codeVerifier;\n }\n /**\n * Gets the code verifier for PKCE flow\n * @returns {String} - code verifier for PKCE\n */\n\n }, {\n key: \"getCodeVerifier\",\n value: function getCodeVerifier() {\n return this.codeVerifier;\n }\n }, {\n key: \"generateCodeChallenge\",\n value: function generateCodeChallenge() {\n var _this = this;\n\n var encoder = new Encoder();\n var codeData = encoder.encode(this.codeVerifier);\n var codeChallenge;\n\n if (isBrowserEnv() || isWorkerEnv()) {\n return crypto.subtle.digest('SHA-256', codeData).then(function (digestedHash) {\n var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(digestedHash)));\n codeChallenge = createBrowserSafeString(base64String).substr(0, 128);\n _this.codeChallenge = codeChallenge;\n });\n }\n\n var digestedHash = crypto.createHash('sha256').update(codeData).digest();\n codeChallenge = createBrowserSafeString(digestedHash);\n this.codeChallenge = codeChallenge;\n return Promise.resolve();\n }\n }, {\n key: \"generatePKCECodes\",\n value: function generatePKCECodes() {\n var codeVerifier;\n\n if (isBrowserEnv() || isWorkerEnv()) {\n var array = new Uint8Array(PKCELength);\n var randomValueArray = crypto.getRandomValues(array);\n var base64String = btoa(randomValueArray);\n codeVerifier = createBrowserSafeString(base64String).substr(0, 128);\n } else {\n var randomBytes = crypto.randomBytes(PKCELength);\n codeVerifier = createBrowserSafeString(randomBytes).substr(0, 128);\n }\n\n this.codeVerifier = codeVerifier;\n return this.generateCodeChallenge();\n }\n /**\n * Get a URL that can be used to authenticate users for the Dropbox API.\n * @arg {String} redirectUri - A URL to redirect the user to after\n * authenticating. This must be added to your app through the admin interface.\n * @arg {String} [state] - State that will be returned in the redirect URL to help\n * prevent cross site scripting attacks.\n * @arg {String} [authType] - auth type, defaults to 'token', other option is 'code'\n * @arg {String} [tokenAccessType] - type of token to request. From the following:\n * null - creates a token with the app default (either legacy or online)\n * legacy - creates one long-lived token with no expiration\n * online - create one short-lived token with an expiration\n * offline - create one short-lived token with an expiration with a refresh token\n * @arg {Array<String>} [scope] - scopes to request for the grant\n * @arg {String} [includeGrantedScopes] - whether or not to include previously granted scopes.\n * From the following:\n * user - include user scopes in the grant\n * team - include team scopes in the grant\n * Note: if this user has never linked the app, include_granted_scopes must be None\n * @arg {boolean} [usePKCE] - Whether or not to use Sha256 based PKCE. PKCE should be only use\n * on client apps which doesn't call your server. It is less secure than non-PKCE flow but\n * can be used if you are unable to safely retrieve your app secret\n * @returns {Promise<String>} - Url to send user to for Dropbox API authentication\n * returned in a promise\n */\n\n }, {\n key: \"getAuthenticationUrl\",\n value: function getAuthenticationUrl(redirectUri, state) {\n var _this2 = this;\n\n var authType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'token';\n var tokenAccessType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var scope = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n var includeGrantedScopes = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 'none';\n var usePKCE = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;\n var clientId = this.getClientId();\n var baseUrl = OAuth2AuthorizationUrl(this.domain);\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n if (authType !== 'code' && !redirectUri) {\n throw new Error('A redirect uri is required.');\n }\n\n if (!GrantTypes.includes(authType)) {\n throw new Error('Authorization type must be code or token');\n }\n\n if (tokenAccessType && !TokenAccessTypes.includes(tokenAccessType)) {\n throw new Error('Token Access Type must be legacy, offline, or online');\n }\n\n if (scope && !(scope instanceof Array)) {\n throw new Error('Scope must be an array of strings');\n }\n\n if (!IncludeGrantedScopes.includes(includeGrantedScopes)) {\n throw new Error('includeGrantedScopes must be none, user, or team');\n }\n\n var authUrl;\n\n if (authType === 'code') {\n authUrl = \"\".concat(baseUrl, \"?response_type=code&client_id=\").concat(clientId);\n } else {\n authUrl = \"\".concat(baseUrl, \"?response_type=token&client_id=\").concat(clientId);\n }\n\n if (redirectUri) {\n authUrl += \"&redirect_uri=\".concat(redirectUri);\n }\n\n if (state) {\n authUrl += \"&state=\".concat(state);\n }\n\n if (tokenAccessType) {\n authUrl += \"&token_access_type=\".concat(tokenAccessType);\n }\n\n if (scope) {\n authUrl += \"&scope=\".concat(scope.join(' '));\n }\n\n if (includeGrantedScopes !== 'none') {\n authUrl += \"&include_granted_scopes=\".concat(includeGrantedScopes);\n }\n\n if (usePKCE) {\n return this.generatePKCECodes().then(function () {\n authUrl += '&code_challenge_method=S256';\n authUrl += \"&code_challenge=\".concat(_this2.codeChallenge);\n return authUrl;\n });\n }\n\n return Promise.resolve(authUrl);\n }\n /**\n * Get an OAuth2 access token from an OAuth2 Code.\n * @arg {String} redirectUri - A URL to redirect the user to after\n * authenticating. This must be added to your app through the admin interface.\n * @arg {String} code - An OAuth2 code.\n * @returns {Object} An object containing the token and related info (if applicable)\n */\n\n }, {\n key: \"getAccessTokenFromCode\",\n value: function getAccessTokenFromCode(redirectUri, code) {\n var clientId = this.getClientId();\n var clientSecret = this.getClientSecret();\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n var path = OAuth2TokenUrl(this.domain, this.domainDelimiter);\n path += '?grant_type=authorization_code';\n path += \"&code=\".concat(code);\n path += \"&client_id=\".concat(clientId);\n\n if (clientSecret) {\n path += \"&client_secret=\".concat(clientSecret);\n } else {\n if (!this.codeVerifier) {\n throw new Error('You must use PKCE when generating the authorization URL to not include a client secret');\n }\n\n path += \"&code_verifier=\".concat(this.codeVerifier);\n }\n\n if (redirectUri) {\n path += \"&redirect_uri=\".concat(redirectUri);\n }\n\n var fetchOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n };\n return this.fetch(path, fetchOptions).then(function (res) {\n return parseResponse(res);\n });\n }\n /**\n * Checks if a token is needed, can be refreshed and if the token is expired.\n * If so, attempts to refresh access token\n * @returns {Promise<*>}\n */\n\n }, {\n key: \"checkAndRefreshAccessToken\",\n value: function checkAndRefreshAccessToken() {\n var canRefresh = this.getRefreshToken() && this.getClientId();\n var needsRefresh = !this.getAccessTokenExpiresAt() || new Date(Date.now() + TokenExpirationBuffer) >= this.getAccessTokenExpiresAt();\n var needsToken = !this.getAccessToken();\n\n if ((needsRefresh || needsToken) && canRefresh) {\n return this.refreshAccessToken();\n }\n\n return Promise.resolve();\n }\n /**\n * Refreshes the access token using the refresh token, if available\n * @arg {Array<String>} scope - a subset of scopes from the original\n * refresh to acquire with an access token\n * @returns {Promise<*>}\n */\n\n }, {\n key: \"refreshAccessToken\",\n value: function refreshAccessToken() {\n var _this3 = this;\n\n var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var clientId = this.getClientId();\n var clientSecret = this.getClientSecret();\n\n if (!clientId) {\n throw new Error('A client id is required. You can set the client id using .setClientId().');\n }\n\n if (scope && !(scope instanceof Array)) {\n throw new Error('Scope must be an array of strings');\n }\n\n var refreshUrl = OAuth2TokenUrl(this.domain, this.domainDelimiter);\n var fetchOptions = {\n headers: {\n 'Content-Type': 'application/json'\n },\n method: 'POST'\n };\n\n if (this.dataOnBody) {\n var body = {\n grant_type: 'refresh_token',\n client_id: clientId,\n refresh_token: this.getRefreshToken()\n };\n\n if (clientSecret) {\n body.client_secret = clientSecret;\n }\n\n if (scope) {\n body.scope = scope.join(' ');\n }\n\n fetchOptions.body = body;\n } else {\n refreshUrl += \"?grant_type=refresh_token&refresh_token=\".concat(this.getRefreshToken());\n refreshUrl += \"&client_id=\".concat(clientId);\n\n if (clientSecret) {\n refreshUrl += \"&client_secret=\".concat(clientSecret);\n }\n\n if (scope) {\n refreshUrl += \"&scope=\".concat(scope.join(' '));\n }\n }\n\n return this.fetch(refreshUrl, fetchOptions).then(function (res) {\n return parseResponse(res);\n }).then(function (res) {\n _this3.setAccessToken(res.result.access_token);\n\n _this3.setAccessTokenExpiresAt(getTokenExpiresAtDate(res.result.expires_in));\n });\n }\n }]);\n\n return DropboxAuth;\n}();\n\nexport { DropboxAuth as default };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { UPLOAD, DOWNLOAD, RPC, APP_AUTH, TEAM_AUTH, USER_AUTH, NO_AUTH, COOKIE } from './constants.js';\nimport { routes } from '../lib/routes.js';\nimport DropboxAuth from './auth.js';\nimport { baseApiUrl, httpHeaderSafeJson } from './utils.js';\nimport { parseDownloadResponse, parseResponse } from './response.js';\nvar b64 = typeof btoa === 'undefined' ? function (str) {\n return Buffer.from(str).toString('base64');\n} : btoa;\n/**\n * @class Dropbox\n * @classdesc The Dropbox SDK class that provides methods to read, write and\n * create files or folders in a user or team's Dropbox.\n * @arg {Object} options\n * @arg {Function} [options.fetch] - fetch library for making requests.\n * @arg {String} [options.selectUser] - Select user is only used for team functionality.\n * It specifies which user the team access token should be acting as.\n * @arg {String} [options.pathRoot] - root path to access other namespaces\n * Use to access team folders for example\n * @arg {String} [options.selectAdmin] - Select admin is only used by team functionality.\n * It specifies which team admin the team access token should be acting as.\n * @arg {DropboxAuth} [options.auth] - The DropboxAuth object used to authenticate requests.\n * If this is set, the remaining parameters will be ignored.\n * @arg {String} [options.accessToken] - An access token for making authenticated\n * requests.\n * @arg {Date} [options.accessTokenExpiresAt] - Date of the current access token's\n * expiration (if available)\n * @arg {String} [options.refreshToken] - A refresh token for retrieving access tokens\n * @arg {String} [options.clientId] - The client id for your app. Used to create\n * authentication URL.\n * @arg {String} [options.clientSecret] - The client secret for your app. Used to create\n * authentication URL and refresh access tokens.\n * @arg {String} [options.domain] - A custom domain to use when making api requests. This\n * should only be used for testing as scaffolding to avoid making network requests.\n * @arg {String} [options.domainDelimiter] - A custom delimiter to use when separating domain from\n * subdomain. This should only be used for testing as scaffolding.\n * @arg {Object} [options.customHeaders] - An object (in the form of header: value) designed to set\n * custom headers to use during a request.\n */\n\nvar Dropbox = /*#__PURE__*/function () {\n function Dropbox(options) {\n _classCallCheck(this, Dropbox);\n\n options = options || {};\n\n if (options.auth) {\n this.auth = options.auth;\n } else {\n this.auth = new DropboxAuth(options);\n }\n\n this.fetch = options.fetch || this.auth.fetch;\n this.selectUser = options.selectUser;\n this.selectAdmin = options.selectAdmin;\n this.pathRoot = options.pathRoot;\n this.domain = options.domain || this.auth.domain;\n this.domainDelimiter = options.domainDelimiter || this.auth.domainDelimiter;\n this.customHeaders = options.customHeaders || this.auth.customHeaders;\n Object.assign(this, routes);\n }\n\n _createClass(Dropbox, [{\n key: \"request\",\n value: function request(path, args, auth, host, style) {\n // scope is provided after \"style\", but unused in requests, so it's not in parameters\n switch (style) {\n case RPC:\n return this.rpcRequest(path, args, auth, host);\n\n case DOWNLOAD:\n return this.downloadRequest(path, args, auth, host);\n\n case UPLOAD:\n return this.uploadRequest(path, args, auth, host);\n\n default:\n throw new Error(\"Invalid request style: \".concat(style));\n }\n }\n }, {\n key: \"rpcRequest\",\n value: function rpcRequest(path, body, auth, host) {\n var _this = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var fetchOptions = {\n method: 'POST',\n body: body ? JSON.stringify(body) : null,\n headers: {}\n };\n\n if (body) {\n fetchOptions.headers['Content-Type'] = 'application/json';\n }\n\n _this.setAuthHeaders(auth, fetchOptions);\n\n _this.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this.fetch(baseApiUrl(host, _this.domain, _this.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseResponse(res);\n });\n }\n }, {\n key: \"downloadRequest\",\n value: function downloadRequest(path, args, auth, host) {\n var _this2 = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var fetchOptions = {\n method: 'POST',\n headers: {\n 'Dropbox-API-Arg': httpHeaderSafeJson(args)\n }\n };\n\n _this2.setAuthHeaders(auth, fetchOptions);\n\n _this2.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this2.fetch(baseApiUrl(host, _this2.domain, _this2.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseDownloadResponse(res);\n });\n }\n }, {\n key: \"uploadRequest\",\n value: function uploadRequest(path, args, auth, host) {\n var _this3 = this;\n\n return this.auth.checkAndRefreshAccessToken().then(function () {\n var contents = args.contents;\n delete args.contents;\n var fetchOptions = {\n body: contents,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/octet-stream',\n 'Dropbox-API-Arg': httpHeaderSafeJson(args)\n }\n };\n\n _this3.setAuthHeaders(auth, fetchOptions);\n\n _this3.setCommonHeaders(fetchOptions);\n\n return fetchOptions;\n }).then(function (fetchOptions) {\n return _this3.fetch(baseApiUrl(host, _this3.domain, _this3.domainDelimiter) + path, fetchOptions);\n }).then(function (res) {\n return parseResponse(res);\n });\n }\n }, {\n key: \"setAuthHeaders\",\n value: function setAuthHeaders(auth, fetchOptions) {\n // checks for multiauth and assigns auth based on priority to create header in switch case\n if (auth.split(',').length > 1) {\n var authTypes = auth.replace(' ', '').split(',');\n\n if (authTypes.includes(USER_AUTH) && this.auth.getAccessToken()) {\n auth = USER_AUTH;\n } else if (authTypes.includes(TEAM_AUTH) && this.auth.getAccessToken()) {\n auth = TEAM_AUTH;\n } else if (authTypes.includes(APP_AUTH)) {\n auth = APP_AUTH;\n }\n }\n\n switch (auth) {\n case APP_AUTH:\n if (this.auth.clientId && this.auth.clientSecret) {\n var authHeader = b64(\"\".concat(this.auth.clientId, \":\").concat(this.auth.clientSecret));\n fetchOptions.headers.Authorization = \"Basic \".concat(authHeader);\n }\n\n break;\n\n case TEAM_AUTH:\n case USER_AUTH:\n if (this.auth.getAccessToken()) {\n fetchOptions.headers.Authorization = \"Bearer \".concat(this.auth.getAccessToken());\n }\n\n break;\n\n case NO_AUTH:\n case COOKIE:\n break;\n\n default:\n throw new Error(\"Unhandled auth type: \".concat(auth));\n }\n }\n }, {\n key: \"setCommonHeaders\",\n value: function setCommonHeaders(options) {\n var _this4 = this;\n\n if (this.selectUser) {\n options.headers['Dropbox-API-Select-User'] = this.selectUser;\n }\n\n if (this.selectAdmin) {\n options.headers['Dropbox-API-Select-Admin'] = this.selectAdmin;\n }\n\n if (this.pathRoot) {\n options.headers['Dropbox-API-Path-Root'] = this.pathRoot;\n }\n\n if (this.customHeaders) {\n var headerKeys = Object.keys(this.customHeaders);\n headerKeys.forEach(function (header) {\n options.headers[header] = _this4.customHeaders[header];\n });\n }\n }\n }]);\n\n return Dropbox;\n}();\n\nexport { Dropbox as default };"],"names":["baseApiUrl","OAuth2AuthorizationUrl","OAuth2TokenUrl","_typeof","obj","_classCallCheck","self","_wrapNativeSuper","Class","_construct","Parent","args","_setPrototypeOf","o","p","_getPrototypeOf","DropboxResponseError","DropboxResponse","_defineProperties","_createClass","DropboxAuth","digestedHash","Buffer","Dropbox"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}