team_folders.stone 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. namespace team
  2. import async
  3. import common
  4. # Common structs
  5. union TeamFolderStatus
  6. active
  7. "The team folder and sub-folders are available to all members."
  8. archived
  9. "The team folder is not accessible outside of the team folder manager."
  10. archive_in_progress
  11. "The team folder is not accessible outside of the team folder manager."
  12. struct TeamFolderIdArg
  13. team_folder_id common.SharedFolderId
  14. "The ID of the team folder."
  15. example default
  16. team_folder_id = "123456789"
  17. struct TeamFolderIdListArg
  18. team_folder_ids List(common.SharedFolderId, min_items=1)
  19. "The list of team folder IDs."
  20. example default
  21. team_folder_ids = ["947182", "5819424", "852307532"]
  22. struct TeamFolderMetadata
  23. "Properties of a team folder."
  24. team_folder_id common.SharedFolderId
  25. "The ID of the team folder."
  26. name String
  27. "The name of the team folder."
  28. status TeamFolderStatus
  29. "The status of the team folder."
  30. example default
  31. name = "Marketing"
  32. team_folder_id = "123456789"
  33. status = active
  34. union TeamFolderAccessError
  35. invalid_team_folder_id
  36. "The team folder ID is invalid."
  37. no_access
  38. "The authenticated app does not have permission to manage that team folder."
  39. union TeamFolderInvalidStatusError
  40. active
  41. "The folder is active and the operation did not succeed."
  42. archived
  43. "The folder is archived and the operation did not succeed."
  44. archive_in_progress
  45. "The folder is being archived and the operation did not succeed."
  46. union BaseTeamFolderError
  47. "Base error that all errors for existing team folders should extend."
  48. access_error TeamFolderAccessError
  49. status_error TeamFolderInvalidStatusError
  50. #
  51. # Team folder create
  52. #
  53. route team_folder/create(TeamFolderCreateArg, TeamFolderMetadata, TeamFolderCreateError)
  54. "Creates a new, active, team folder.
  55. Permission : Team member file access.
  56. "
  57. attrs
  58. owner = "company-dropbox-team"
  59. auth = "team"
  60. struct TeamFolderCreateArg
  61. name String
  62. "Name for the new team folder."
  63. example default
  64. name = "Marketing"
  65. union TeamFolderCreateError
  66. invalid_folder_name
  67. "The provided name cannot be used."
  68. folder_name_already_used
  69. "There is already a team folder with the provided name."
  70. folder_name_reserved
  71. "The provided name cannot be used because it is reserved."
  72. #
  73. # Team folder rename
  74. #
  75. route team_folder/rename(TeamFolderRenameArg, TeamFolderMetadata, TeamFolderRenameError)
  76. "Changes an active team folder's name.
  77. Permission : Team member file access.
  78. "
  79. attrs
  80. owner = "company-dropbox-team"
  81. auth = "team"
  82. struct TeamFolderRenameArg extends TeamFolderIdArg
  83. name String
  84. "New team folder name."
  85. example default
  86. team_folder_id = "123456789"
  87. name = "Sales"
  88. union TeamFolderRenameError extends BaseTeamFolderError
  89. invalid_folder_name
  90. "The provided folder name cannot be used."
  91. folder_name_already_used
  92. "There is already a team folder with the same name."
  93. folder_name_reserved
  94. "The provided name cannot be used because it is reserved."
  95. #
  96. # Team folder list
  97. #
  98. route team_folder/list(TeamFolderListArg, TeamFolderListResult, TeamFolderListError)
  99. "Lists all team folders.
  100. Permission : Team member file access.
  101. "
  102. attrs
  103. owner = "company-dropbox-team"
  104. auth = "team"
  105. struct TeamFolderListArg
  106. limit UInt32(min_value=1, max_value=1000) = 1000
  107. "The maximum number of results to return per request."
  108. example default
  109. limit = 100
  110. struct TeamFolderListResult
  111. "Result for :route:`team_folder/list` and :route:`team_folder/list/continue`."
  112. team_folders List(TeamFolderMetadata)
  113. "List of all team folders in the authenticated team."
  114. cursor String
  115. "Pass the cursor into :route:`team_folder/list/continue` to obtain additional team folders."
  116. has_more Boolean
  117. "Is true if there are additional team folders that have not been returned
  118. yet. An additional call to :route:`team_folder/list/continue` can retrieve them."
  119. example default
  120. team_folders = [default]
  121. cursor = "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu"
  122. has_more = false
  123. struct TeamFolderListError
  124. access_error TeamFolderAccessError
  125. #
  126. # Team folder list/continue
  127. #
  128. route team_folder/list/continue(TeamFolderListContinueArg, TeamFolderListResult, TeamFolderListContinueError)
  129. "Once a cursor has been retrieved from :route:`team_folder/list`, use this to paginate
  130. through all team folders.
  131. Permission : Team member file access."
  132. attrs
  133. owner = "company-dropbox-team"
  134. auth = "team"
  135. struct TeamFolderListContinueArg
  136. cursor String
  137. "Indicates from what point to get the next set of team folders."
  138. example default
  139. cursor = "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu"
  140. union TeamFolderListContinueError
  141. invalid_cursor
  142. "The cursor is invalid."
  143. #
  144. # Team folder get info
  145. #
  146. route team_folder/get_info(TeamFolderIdListArg, List(TeamFolderGetInfoItem), Void)
  147. "Retrieves metadata for team folders.
  148. Permission : Team member file access.
  149. "
  150. attrs
  151. owner = "company-dropbox-team"
  152. auth = "team"
  153. union_closed TeamFolderGetInfoItem
  154. id_not_found String
  155. "An ID that was provided as a parameter to :route:`team_folder/get_info` did not
  156. match any of the team's team folders."
  157. team_folder_metadata TeamFolderMetadata
  158. "Properties of a team folder."
  159. #
  160. # Team folder activate
  161. #
  162. route team_folder/activate(TeamFolderIdArg, TeamFolderMetadata, TeamFolderActivateError)
  163. "Sets an archived team folder's status to active.
  164. Permission : Team member file access.
  165. "
  166. attrs
  167. owner = "company-dropbox-team"
  168. auth = "team"
  169. union TeamFolderActivateError extends BaseTeamFolderError
  170. ""
  171. #
  172. # Team folder archive
  173. #
  174. route team_folder/archive(TeamFolderArchiveArg, TeamFolderArchiveLaunch, TeamFolderArchiveError)
  175. "Sets an active team folder's status to archived and removes all folder and file members.
  176. Permission : Team member file access.
  177. "
  178. attrs
  179. owner = "company-dropbox-team"
  180. auth = "team"
  181. struct TeamFolderArchiveArg extends TeamFolderIdArg
  182. force_async_off Boolean = false
  183. "Whether to force the archive to happen synchronously."
  184. example default
  185. team_folder_id = "123456789"
  186. force_async_off = false
  187. union_closed TeamFolderArchiveLaunch extends async.LaunchResultBase
  188. complete TeamFolderMetadata
  189. example default
  190. complete = default
  191. union TeamFolderArchiveError extends BaseTeamFolderError
  192. ""
  193. route team_folder/archive/check(async.PollArg, TeamFolderArchiveJobStatus, async.PollError)
  194. "Returns the status of an asynchronous job for archiving a team folder.
  195. Permission : Team member file access.
  196. "
  197. attrs
  198. owner = "company-dropbox-team"
  199. auth = "team"
  200. union_closed TeamFolderArchiveJobStatus extends async.PollResultBase
  201. complete TeamFolderMetadata
  202. "The archive job has finished. The value is the metadata for the resulting team folder."
  203. failed TeamFolderArchiveError
  204. "Error occurred while performing an asynchronous job from :route:`team_folder/archive`."
  205. example default
  206. complete = default
  207. #
  208. # Team folder permanently delete
  209. #
  210. route team_folder/permanently_delete(TeamFolderIdArg, Void, TeamFolderPermanentlyDeleteError)
  211. "Permanently deletes an archived team folder.
  212. Permission : Team member file access.
  213. "
  214. attrs
  215. owner = "company-dropbox-team"
  216. auth = "team"
  217. union TeamFolderPermanentlyDeleteError extends BaseTeamFolderError
  218. ""