frameio 0.0.28__py3-none-any.whl

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 (385) hide show
  1. frameio/__init__.py +1158 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +193 -0
  4. frameio/account_permissions/raw_client.py +333 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +162 -0
  7. frameio/accounts/raw_client.py +309 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +38 -0
  10. frameio/comments/client.py +654 -0
  11. frameio/comments/raw_client.py +1316 -0
  12. frameio/comments/types/__init__.py +40 -0
  13. frameio/comments/types/comments_show_request_include.py +5 -0
  14. frameio/comments/types/create_comment_params_data.py +33 -0
  15. frameio/comments/types/update_comment_params_data.py +33 -0
  16. frameio/core/__init__.py +122 -0
  17. frameio/core/api_error.py +23 -0
  18. frameio/core/client_wrapper.py +95 -0
  19. frameio/core/custom_pagination.py +152 -0
  20. frameio/core/datetime_utils.py +28 -0
  21. frameio/core/file.py +67 -0
  22. frameio/core/force_multipart.py +18 -0
  23. frameio/core/http_client.py +663 -0
  24. frameio/core/http_response.py +55 -0
  25. frameio/core/http_sse/__init__.py +42 -0
  26. frameio/core/http_sse/_api.py +112 -0
  27. frameio/core/http_sse/_decoders.py +61 -0
  28. frameio/core/http_sse/_exceptions.py +7 -0
  29. frameio/core/http_sse/_models.py +17 -0
  30. frameio/core/jsonable_encoder.py +100 -0
  31. frameio/core/pagination.py +82 -0
  32. frameio/core/pydantic_utilities.py +361 -0
  33. frameio/core/query_encoder.py +58 -0
  34. frameio/core/remove_none_from_dict.py +11 -0
  35. frameio/core/request_options.py +35 -0
  36. frameio/core/serialization.py +276 -0
  37. frameio/core/unchecked_base_model.py +376 -0
  38. frameio/environment.py +7 -0
  39. frameio/errors/__init__.py +53 -0
  40. frameio/errors/bad_request_error.py +11 -0
  41. frameio/errors/forbidden_error.py +11 -0
  42. frameio/errors/not_found_error.py +11 -0
  43. frameio/errors/too_many_requests_error.py +11 -0
  44. frameio/errors/unauthorized_error.py +11 -0
  45. frameio/errors/unprocessable_entity_error.py +10 -0
  46. frameio/files/__init__.py +58 -0
  47. frameio/files/client.py +1171 -0
  48. frameio/files/raw_client.py +2517 -0
  49. frameio/files/types/__init__.py +56 -0
  50. frameio/files/types/file_copy_params_data.py +15 -0
  51. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  52. frameio/files/types/file_create_params_data.py +31 -0
  53. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  54. frameio/files/types/file_move_params_data.py +15 -0
  55. frameio/files/types/file_update_params_data.py +15 -0
  56. frameio/files/types/files_copy_request_copy_comments.py +5 -0
  57. frameio/folders/__init__.py +39 -0
  58. frameio/folders/client.py +1004 -0
  59. frameio/folders/raw_client.py +2074 -0
  60. frameio/folders/types/__init__.py +42 -0
  61. frameio/folders/types/folder_copy_params_data.py +15 -0
  62. frameio/folders/types/folder_create_params_data.py +15 -0
  63. frameio/folders/types/folder_move_params_data.py +15 -0
  64. frameio/folders/types/folder_update_params_data.py +15 -0
  65. frameio/metadata/__init__.py +37 -0
  66. frameio/metadata/client.py +293 -0
  67. frameio/metadata/raw_client.py +509 -0
  68. frameio/metadata/types/__init__.py +38 -0
  69. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  70. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  71. frameio/metadata_fields/__init__.py +103 -0
  72. frameio/metadata_fields/client.py +536 -0
  73. frameio/metadata_fields/raw_client.py +996 -0
  74. frameio/metadata_fields/types/__init__.py +105 -0
  75. frameio/metadata_fields/types/create_field_definition_params_data.py +112 -0
  76. frameio/metadata_fields/types/update_field_definition_params_data.py +118 -0
  77. frameio/project_permissions/__init__.py +4 -0
  78. frameio/project_permissions/client.py +426 -0
  79. frameio/project_permissions/raw_client.py +824 -0
  80. frameio/projects/__init__.py +38 -0
  81. frameio/projects/client.py +604 -0
  82. frameio/projects/raw_client.py +1286 -0
  83. frameio/projects/types/__init__.py +40 -0
  84. frameio/projects/types/project_params_data.py +20 -0
  85. frameio/projects/types/project_update_params_data.py +26 -0
  86. frameio/projects/types/project_update_params_data_status.py +5 -0
  87. frameio/py.typed +0 -0
  88. frameio/shares/__init__.py +64 -0
  89. frameio/shares/client.py +1217 -0
  90. frameio/shares/raw_client.py +2511 -0
  91. frameio/shares/types/__init__.py +61 -0
  92. frameio/shares/types/add_asset_params_data.py +15 -0
  93. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  94. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  95. frameio/shares/types/create_share_params_data.py +26 -0
  96. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  97. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  98. frameio/shares/types/update_share_params_data.py +34 -0
  99. frameio/shares/types/update_share_params_data_access.py +5 -0
  100. frameio/types/__init__.py +983 -0
  101. frameio/types/account.py +70 -0
  102. frameio/types/account_roles_item.py +5 -0
  103. frameio/types/account_user_role.py +23 -0
  104. frameio/types/account_user_role_role.py +5 -0
  105. frameio/types/account_user_roles_response.py +27 -0
  106. frameio/types/accounts_response.py +23 -0
  107. frameio/types/add_asset_response.py +13 -0
  108. frameio/types/add_asset_response_data.py +15 -0
  109. frameio/types/asset_common.py +48 -0
  110. frameio/types/asset_common_type.py +5 -0
  111. frameio/types/asset_common_with_includes.py +58 -0
  112. frameio/types/asset_common_with_includes_type.py +5 -0
  113. frameio/types/asset_include.py +5 -0
  114. frameio/types/asset_share_params.py +39 -0
  115. frameio/types/asset_share_params_access.py +5 -0
  116. frameio/types/asset_with_includes.py +76 -0
  117. frameio/types/assets_with_includes_response.py +23 -0
  118. frameio/types/bad_request.py +13 -0
  119. frameio/types/bad_request_errors_item.py +15 -0
  120. frameio/types/bad_request_errors_item_source.py +12 -0
  121. frameio/types/boolean_value.py +12 -0
  122. frameio/types/children_type.py +3 -0
  123. frameio/types/comment.py +59 -0
  124. frameio/types/comment_include.py +5 -0
  125. frameio/types/comment_response.py +13 -0
  126. frameio/types/comment_with_includes.py +17 -0
  127. frameio/types/comment_with_includes_response.py +13 -0
  128. frameio/types/comments_with_includes_response.py +23 -0
  129. frameio/types/date_definition.py +49 -0
  130. frameio/types/date_definition_field_configuration.py +21 -0
  131. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  132. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  133. frameio/types/date_definition_field_type.py +10 -0
  134. frameio/types/date_definition_params.py +17 -0
  135. frameio/types/date_definition_params_field_configuration.py +23 -0
  136. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  137. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  138. frameio/types/date_definition_with_includes.py +13 -0
  139. frameio/types/date_value.py +12 -0
  140. frameio/types/email.py +3 -0
  141. frameio/types/empty_json.py +5 -0
  142. frameio/types/field_definition.py +167 -0
  143. frameio/types/field_definition_include.py +5 -0
  144. frameio/types/field_definition_response.py +13 -0
  145. frameio/types/field_definition_with_includes.py +178 -0
  146. frameio/types/field_definitions_with_includes_response.py +27 -0
  147. frameio/types/field_value_common.py +29 -0
  148. frameio/types/file.py +60 -0
  149. frameio/types/file_copy_response.py +13 -0
  150. frameio/types/file_remote_upload_response.py +17 -0
  151. frameio/types/file_response.py +13 -0
  152. frameio/types/file_status.py +5 -0
  153. frameio/types/file_upload_status.py +41 -0
  154. frameio/types/file_upload_status_response.py +13 -0
  155. frameio/types/file_with_includes.py +25 -0
  156. frameio/types/file_with_includes_response.py +13 -0
  157. frameio/types/file_with_includes_status.py +5 -0
  158. frameio/types/file_with_media_links_include.py +19 -0
  159. frameio/types/file_with_upload_urls.py +16 -0
  160. frameio/types/file_with_upload_urls_response.py +13 -0
  161. frameio/types/folder.py +15 -0
  162. frameio/types/folder_copy_response.py +13 -0
  163. frameio/types/folder_response.py +13 -0
  164. frameio/types/folder_with_includes.py +63 -0
  165. frameio/types/folder_with_includes_response.py +13 -0
  166. frameio/types/folders_with_includes_response.py +23 -0
  167. frameio/types/forbidden.py +13 -0
  168. frameio/types/forbidden_errors_item.py +15 -0
  169. frameio/types/forbidden_errors_item_source.py +12 -0
  170. frameio/types/include.py +5 -0
  171. frameio/types/include_total_count.py +3 -0
  172. frameio/types/integer_value.py +12 -0
  173. frameio/types/json_error_response.py +13 -0
  174. frameio/types/json_error_response_errors_item.py +15 -0
  175. frameio/types/json_error_response_errors_item_source.py +12 -0
  176. frameio/types/links.py +22 -0
  177. frameio/types/long_text_definition.py +49 -0
  178. frameio/types/long_text_definition_field_configuration.py +10 -0
  179. frameio/types/long_text_definition_field_type.py +10 -0
  180. frameio/types/long_text_definition_params.py +15 -0
  181. frameio/types/long_text_definition_with_includes.py +13 -0
  182. frameio/types/media_link_common.py +17 -0
  183. frameio/types/media_links_collection.py +24 -0
  184. frameio/types/metadata_field.py +149 -0
  185. frameio/types/metadata_response.py +13 -0
  186. frameio/types/metadata_with_definition.py +21 -0
  187. frameio/types/multi_select_value.py +14 -0
  188. frameio/types/multi_user_value.py +20 -0
  189. frameio/types/multi_user_value_member_options_type.py +5 -0
  190. frameio/types/no_content.py +3 -0
  191. frameio/types/not_found.py +13 -0
  192. frameio/types/not_found_errors_item.py +15 -0
  193. frameio/types/not_found_errors_item_source.py +12 -0
  194. frameio/types/number_definition.py +43 -0
  195. frameio/types/number_definition_field_configuration.py +21 -0
  196. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  197. frameio/types/number_definition_params.py +17 -0
  198. frameio/types/number_definition_params_field_configuration.py +23 -0
  199. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  200. frameio/types/number_definition_with_includes.py +13 -0
  201. frameio/types/number_value.py +12 -0
  202. frameio/types/original_media_link.py +16 -0
  203. frameio/types/profile.py +34 -0
  204. frameio/types/profile_response.py +17 -0
  205. frameio/types/project.py +66 -0
  206. frameio/types/project_include.py +5 -0
  207. frameio/types/project_response.py +17 -0
  208. frameio/types/project_status.py +5 -0
  209. frameio/types/project_with_includes.py +18 -0
  210. frameio/types/project_with_includes_response.py +17 -0
  211. frameio/types/projects_with_includes_response.py +27 -0
  212. frameio/types/rating_definition.py +43 -0
  213. frameio/types/rating_definition_field_configuration.py +22 -0
  214. frameio/types/rating_definition_field_configuration_style.py +5 -0
  215. frameio/types/rating_definition_params.py +17 -0
  216. frameio/types/rating_definition_params_field_configuration.py +22 -0
  217. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  218. frameio/types/rating_definition_with_includes.py +13 -0
  219. frameio/types/remove_asset_response.py +13 -0
  220. frameio/types/remove_asset_response_data.py +15 -0
  221. frameio/types/rendition_media_link.py +19 -0
  222. frameio/types/request_after_opaque_cursor.py +5 -0
  223. frameio/types/request_page_size.py +3 -0
  224. frameio/types/select_definition.py +43 -0
  225. frameio/types/select_definition_field_configuration.py +18 -0
  226. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  227. frameio/types/select_definition_params.py +17 -0
  228. frameio/types/select_definition_params_field_configuration.py +20 -0
  229. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  230. frameio/types/select_definition_with_includes.py +13 -0
  231. frameio/types/select_multi_definition.py +49 -0
  232. frameio/types/select_multi_definition_field_configuration.py +18 -0
  233. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  234. frameio/types/select_multi_definition_field_type.py +10 -0
  235. frameio/types/select_multi_definition_params.py +17 -0
  236. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  237. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  238. frameio/types/select_multi_definition_with_includes.py +13 -0
  239. frameio/types/select_option.py +20 -0
  240. frameio/types/select_value.py +14 -0
  241. frameio/types/share.py +66 -0
  242. frameio/types/share_access.py +5 -0
  243. frameio/types/share_response.py +13 -0
  244. frameio/types/share_reviewers_response.py +27 -0
  245. frameio/types/shares_response.py +27 -0
  246. frameio/types/single_user_value.py +20 -0
  247. frameio/types/single_user_value_member_options_type.py +5 -0
  248. frameio/types/text_definition.py +49 -0
  249. frameio/types/text_definition_field_configuration.py +10 -0
  250. frameio/types/text_definition_field_type.py +10 -0
  251. frameio/types/text_definition_params.py +15 -0
  252. frameio/types/text_definition_with_includes.py +13 -0
  253. frameio/types/text_value.py +12 -0
  254. frameio/types/time_stamp.py +5 -0
  255. frameio/types/toggle_definition.py +43 -0
  256. frameio/types/toggle_definition_field_configuration.py +15 -0
  257. frameio/types/toggle_definition_params.py +17 -0
  258. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  259. frameio/types/toggle_definition_with_includes.py +13 -0
  260. frameio/types/too_many_requests.py +13 -0
  261. frameio/types/too_many_requests_errors_item.py +15 -0
  262. frameio/types/too_many_requests_errors_item_source.py +12 -0
  263. frameio/types/unauthorized.py +13 -0
  264. frameio/types/unauthorized_errors_item.py +15 -0
  265. frameio/types/unauthorized_errors_item_source.py +12 -0
  266. frameio/types/unprocessable_entity.py +13 -0
  267. frameio/types/unprocessable_entity_errors_item.py +15 -0
  268. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  269. frameio/types/update_date_definition_params.py +17 -0
  270. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  271. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  272. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  273. frameio/types/update_long_text_definition_params.py +15 -0
  274. frameio/types/update_number_definition_params.py +17 -0
  275. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  276. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  277. frameio/types/update_rating_definition_params.py +17 -0
  278. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  279. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  280. frameio/types/update_select_definition_params.py +17 -0
  281. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  282. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  283. frameio/types/update_select_multi_definition_params.py +19 -0
  284. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  285. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  286. frameio/types/update_text_definition_params.py +15 -0
  287. frameio/types/update_toggle_definition_params.py +17 -0
  288. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  289. frameio/types/update_user_multi_definition_params.py +17 -0
  290. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  291. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  292. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  293. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  294. frameio/types/update_user_roles_params.py +17 -0
  295. frameio/types/update_user_roles_params_data.py +13 -0
  296. frameio/types/update_user_roles_params_data_role.py +7 -0
  297. frameio/types/update_user_roles_response.py +13 -0
  298. frameio/types/update_user_roles_response_data.py +13 -0
  299. frameio/types/update_user_roles_response_data_role.py +7 -0
  300. frameio/types/update_user_single_definition_params.py +17 -0
  301. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  302. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  303. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  304. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  305. frameio/types/upload_url.py +20 -0
  306. frameio/types/user.py +44 -0
  307. frameio/types/user_multi_definition.py +49 -0
  308. frameio/types/user_multi_definition_field_configuration.py +23 -0
  309. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_multi_definition_field_type.py +10 -0
  313. frameio/types/user_multi_definition_params.py +17 -0
  314. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  315. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  316. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  317. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  318. frameio/types/user_multi_definition_with_includes.py +13 -0
  319. frameio/types/user_role.py +19 -0
  320. frameio/types/user_role_role.py +7 -0
  321. frameio/types/user_roles_response.py +27 -0
  322. frameio/types/user_single_definition.py +49 -0
  323. frameio/types/user_single_definition_field_configuration.py +23 -0
  324. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  325. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  326. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  327. frameio/types/user_single_definition_field_type.py +10 -0
  328. frameio/types/user_single_definition_params.py +17 -0
  329. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  330. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  331. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  332. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  333. frameio/types/user_single_definition_with_includes.py +13 -0
  334. frameio/types/user_value.py +18 -0
  335. frameio/types/user_value_type.py +5 -0
  336. frameio/types/uuid_.py +3 -0
  337. frameio/types/version_stack.py +50 -0
  338. frameio/types/version_stack_copy_response.py +13 -0
  339. frameio/types/version_stack_response.py +13 -0
  340. frameio/types/version_stack_with_includes.py +60 -0
  341. frameio/types/version_stack_with_includes_response.py +13 -0
  342. frameio/types/version_stacks_with_includes_response.py +19 -0
  343. frameio/types/webhook.py +36 -0
  344. frameio/types/webhook_create_response.py +17 -0
  345. frameio/types/webhook_create_response_data.py +15 -0
  346. frameio/types/webhook_events.py +5 -0
  347. frameio/types/webhook_response.py +13 -0
  348. frameio/types/webhook_with_includes.py +13 -0
  349. frameio/types/webhook_with_includes_response.py +13 -0
  350. frameio/types/webhooks_with_includes_response.py +23 -0
  351. frameio/types/workspace.py +40 -0
  352. frameio/types/workspace_include.py +5 -0
  353. frameio/types/workspace_params.py +17 -0
  354. frameio/types/workspace_params_data.py +15 -0
  355. frameio/types/workspace_response.py +17 -0
  356. frameio/types/workspace_with_includes.py +13 -0
  357. frameio/types/workspace_with_includes_response.py +17 -0
  358. frameio/types/workspaces_with_includes_response.py +27 -0
  359. frameio/users/__init__.py +4 -0
  360. frameio/users/client.py +100 -0
  361. frameio/users/raw_client.py +234 -0
  362. frameio/version.py +3 -0
  363. frameio/version_stacks/__init__.py +49 -0
  364. frameio/version_stacks/client.py +818 -0
  365. frameio/version_stacks/raw_client.py +1614 -0
  366. frameio/version_stacks/types/__init__.py +47 -0
  367. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  368. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  369. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  370. frameio/version_stacks/types/version_stacks_show_request_include.py +19 -0
  371. frameio/webhooks/__init__.py +34 -0
  372. frameio/webhooks/client.py +793 -0
  373. frameio/webhooks/raw_client.py +1347 -0
  374. frameio/webhooks/types/__init__.py +38 -0
  375. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  376. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  377. frameio/workspace_permissions/__init__.py +4 -0
  378. frameio/workspace_permissions/client.py +430 -0
  379. frameio/workspace_permissions/raw_client.py +824 -0
  380. frameio/workspaces/__init__.py +4 -0
  381. frameio/workspaces/client.py +563 -0
  382. frameio/workspaces/raw_client.py +1259 -0
  383. frameio-0.0.28.dist-info/METADATA +259 -0
  384. frameio-0.0.28.dist-info/RECORD +385 -0
  385. frameio-0.0.28.dist-info/WHEEL +4 -0
@@ -0,0 +1,1004 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from ..types.asset_include import AssetInclude
8
+ from ..types.assets_with_includes_response import AssetsWithIncludesResponse
9
+ from ..types.children_type import ChildrenType
10
+ from ..types.file_with_media_links_include import FileWithMediaLinksInclude
11
+ from ..types.folder_copy_response import FolderCopyResponse
12
+ from ..types.folder_response import FolderResponse
13
+ from ..types.folder_with_includes_response import FolderWithIncludesResponse
14
+ from ..types.folders_with_includes_response import FoldersWithIncludesResponse
15
+ from ..types.include_total_count import IncludeTotalCount
16
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
17
+ from ..types.request_page_size import RequestPageSize
18
+ from ..types.uuid_ import Uuid
19
+ from .raw_client import AsyncRawFoldersClient, RawFoldersClient
20
+ from .types.folder_copy_params_data import FolderCopyParamsData
21
+ from .types.folder_create_params_data import FolderCreateParamsData
22
+ from .types.folder_move_params_data import FolderMoveParamsData
23
+ from .types.folder_update_params_data import FolderUpdateParamsData
24
+
25
+ # this is used as the default value for optional parameters
26
+ OMIT = typing.cast(typing.Any, ...)
27
+
28
+
29
+ class FoldersClient:
30
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
31
+ self._raw_client = RawFoldersClient(client_wrapper=client_wrapper)
32
+
33
+ @property
34
+ def with_raw_response(self) -> RawFoldersClient:
35
+ """
36
+ Retrieves a raw implementation of this client that returns raw responses.
37
+
38
+ Returns
39
+ -------
40
+ RawFoldersClient
41
+ """
42
+ return self._raw_client
43
+
44
+ def show(
45
+ self,
46
+ account_id: Uuid,
47
+ folder_id: Uuid,
48
+ *,
49
+ include: typing.Optional[AssetInclude] = None,
50
+ request_options: typing.Optional[RequestOptions] = None,
51
+ ) -> FolderWithIncludesResponse:
52
+ """
53
+ Show folder details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
54
+
55
+ Parameters
56
+ ----------
57
+ account_id : Uuid
58
+
59
+
60
+ folder_id : Uuid
61
+
62
+
63
+ include : typing.Optional[AssetInclude]
64
+
65
+
66
+ request_options : typing.Optional[RequestOptions]
67
+ Request-specific configuration.
68
+
69
+ Returns
70
+ -------
71
+ FolderWithIncludesResponse
72
+ OK
73
+
74
+ Examples
75
+ --------
76
+ from frameio import Frameio
77
+
78
+ client = Frameio(
79
+ token="YOUR_TOKEN",
80
+ )
81
+ client.folders.show(
82
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
83
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
84
+ include="creator",
85
+ )
86
+ """
87
+ _response = self._raw_client.show(account_id, folder_id, include=include, request_options=request_options)
88
+ return _response.data
89
+
90
+ def delete(
91
+ self, account_id: Uuid, folder_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
92
+ ) -> None:
93
+ """
94
+ Delete folder by id. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
95
+
96
+ Parameters
97
+ ----------
98
+ account_id : Uuid
99
+
100
+
101
+ folder_id : Uuid
102
+
103
+
104
+ request_options : typing.Optional[RequestOptions]
105
+ Request-specific configuration.
106
+
107
+ Returns
108
+ -------
109
+ None
110
+
111
+ Examples
112
+ --------
113
+ from frameio import Frameio
114
+
115
+ client = Frameio(
116
+ token="YOUR_TOKEN",
117
+ )
118
+ client.folders.delete(
119
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
120
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
121
+ )
122
+ """
123
+ _response = self._raw_client.delete(account_id, folder_id, request_options=request_options)
124
+ return _response.data
125
+
126
+ def update(
127
+ self,
128
+ account_id: Uuid,
129
+ folder_id: Uuid,
130
+ *,
131
+ data: FolderUpdateParamsData,
132
+ request_options: typing.Optional[RequestOptions] = None,
133
+ ) -> FolderResponse:
134
+ """
135
+ Update folder details. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
136
+
137
+ Parameters
138
+ ----------
139
+ account_id : Uuid
140
+
141
+
142
+ folder_id : Uuid
143
+
144
+
145
+ data : FolderUpdateParamsData
146
+
147
+ request_options : typing.Optional[RequestOptions]
148
+ Request-specific configuration.
149
+
150
+ Returns
151
+ -------
152
+ FolderResponse
153
+ OK
154
+
155
+ Examples
156
+ --------
157
+ from frameio import Frameio
158
+ from frameio.folders import FolderUpdateParamsData
159
+
160
+ client = Frameio(
161
+ token="YOUR_TOKEN",
162
+ )
163
+ client.folders.update(
164
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
165
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
166
+ data=FolderUpdateParamsData(
167
+ name="Folder name",
168
+ ),
169
+ )
170
+ """
171
+ _response = self._raw_client.update(account_id, folder_id, data=data, request_options=request_options)
172
+ return _response.data
173
+
174
+ def index(
175
+ self,
176
+ account_id: Uuid,
177
+ folder_id: Uuid,
178
+ *,
179
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
180
+ type: typing.Optional[ChildrenType] = None,
181
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
182
+ page_size: typing.Optional[RequestPageSize] = None,
183
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
184
+ request_options: typing.Optional[RequestOptions] = None,
185
+ ) -> AssetsWithIncludesResponse:
186
+ """
187
+ List the children in the given folder.
188
+ <br>
189
+ Use the `include` query parameter to selectively include additional properties in the response.
190
+ <br>
191
+ Note: if you include `media_links.original` and the user does not have permission to download files
192
+ in the corresponding project, then this endpoint will respond with a `403 Forbidden` error.
193
+ If the content is inaccessible because watermarking is required for this user and isn't supported by
194
+ the requested media_links, then the request will succeed but the unsupported media links will be set to null.
195
+ Similarly, if a requested transcode link does not exist for a particular file (e.g. including
196
+ `media_links.video_h264_180` on a static image file) or transoding process hasn't finished
197
+ (i.e. the file's `status` is "uploaded" rather than "transcoded"), then the a media link will also be set to
198
+ null in the response payload. In short, the client must handle null media links gracefully.
199
+ <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
200
+
201
+ Parameters
202
+ ----------
203
+ account_id : Uuid
204
+
205
+
206
+ folder_id : Uuid
207
+
208
+
209
+ include : typing.Optional[FileWithMediaLinksInclude]
210
+
211
+
212
+ type : typing.Optional[ChildrenType]
213
+
214
+
215
+ after : typing.Optional[RequestAfterOpaqueCursor]
216
+ Opaque Cursor query param for requests returning paginated results.
217
+ <br/>
218
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
219
+
220
+ page_size : typing.Optional[RequestPageSize]
221
+
222
+
223
+ include_total_count : typing.Optional[IncludeTotalCount]
224
+
225
+
226
+ request_options : typing.Optional[RequestOptions]
227
+ Request-specific configuration.
228
+
229
+ Returns
230
+ -------
231
+ AssetsWithIncludesResponse
232
+ OK
233
+
234
+ Examples
235
+ --------
236
+ from frameio import Frameio
237
+
238
+ client = Frameio(
239
+ token="YOUR_TOKEN",
240
+ )
241
+ client.folders.index(
242
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
243
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
244
+ include="media_links",
245
+ type="file,folder,version_stack",
246
+ after="<opaque_cursor>",
247
+ page_size=10,
248
+ include_total_count=False,
249
+ )
250
+ """
251
+ _response = self._raw_client.index(
252
+ account_id,
253
+ folder_id,
254
+ include=include,
255
+ type=type,
256
+ after=after,
257
+ page_size=page_size,
258
+ include_total_count=include_total_count,
259
+ request_options=request_options,
260
+ )
261
+ return _response.data
262
+
263
+ def copy(
264
+ self,
265
+ account_id: Uuid,
266
+ folder_id: Uuid,
267
+ *,
268
+ copy_metadata: typing.Optional[bool] = None,
269
+ data: typing.Optional[FolderCopyParamsData] = OMIT,
270
+ request_options: typing.Optional[RequestOptions] = None,
271
+ ) -> FolderCopyResponse:
272
+ """
273
+ Copy folder. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
274
+
275
+ Parameters
276
+ ----------
277
+ account_id : Uuid
278
+
279
+
280
+ folder_id : Uuid
281
+
282
+
283
+ copy_metadata : typing.Optional[bool]
284
+ Whether to copy metadata values along with the folder
285
+
286
+ data : typing.Optional[FolderCopyParamsData]
287
+
288
+ request_options : typing.Optional[RequestOptions]
289
+ Request-specific configuration.
290
+
291
+ Returns
292
+ -------
293
+ FolderCopyResponse
294
+ OK
295
+
296
+ Examples
297
+ --------
298
+ from frameio import Frameio
299
+ from frameio.folders import FolderCopyParamsData
300
+
301
+ client = Frameio(
302
+ token="YOUR_TOKEN",
303
+ )
304
+ client.folders.copy(
305
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
306
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
307
+ copy_metadata=True,
308
+ data=FolderCopyParamsData(
309
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
310
+ ),
311
+ )
312
+ """
313
+ _response = self._raw_client.copy(
314
+ account_id, folder_id, copy_metadata=copy_metadata, data=data, request_options=request_options
315
+ )
316
+ return _response.data
317
+
318
+ def list(
319
+ self,
320
+ account_id: Uuid,
321
+ folder_id: Uuid,
322
+ *,
323
+ include: typing.Optional[AssetInclude] = None,
324
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
325
+ page_size: typing.Optional[RequestPageSize] = None,
326
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
327
+ request_options: typing.Optional[RequestOptions] = None,
328
+ ) -> FoldersWithIncludesResponse:
329
+ """
330
+ List folders in a given folder. <br>Rate Limits: 5 calls per 1 second(s) per account_user
331
+
332
+ Parameters
333
+ ----------
334
+ account_id : Uuid
335
+
336
+
337
+ folder_id : Uuid
338
+
339
+
340
+ include : typing.Optional[AssetInclude]
341
+
342
+
343
+ after : typing.Optional[RequestAfterOpaqueCursor]
344
+ Opaque Cursor query param for requests returning paginated results.
345
+ <br/>
346
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
347
+
348
+ page_size : typing.Optional[RequestPageSize]
349
+
350
+
351
+ include_total_count : typing.Optional[IncludeTotalCount]
352
+
353
+
354
+ request_options : typing.Optional[RequestOptions]
355
+ Request-specific configuration.
356
+
357
+ Returns
358
+ -------
359
+ FoldersWithIncludesResponse
360
+ OK
361
+
362
+ Examples
363
+ --------
364
+ from frameio import Frameio
365
+
366
+ client = Frameio(
367
+ token="YOUR_TOKEN",
368
+ )
369
+ client.folders.list(
370
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
371
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
372
+ include="creator",
373
+ after="<opaque_cursor>",
374
+ page_size=10,
375
+ include_total_count=False,
376
+ )
377
+ """
378
+ _response = self._raw_client.list(
379
+ account_id,
380
+ folder_id,
381
+ include=include,
382
+ after=after,
383
+ page_size=page_size,
384
+ include_total_count=include_total_count,
385
+ request_options=request_options,
386
+ )
387
+ return _response.data
388
+
389
+ def create(
390
+ self,
391
+ account_id: Uuid,
392
+ folder_id: Uuid,
393
+ *,
394
+ data: FolderCreateParamsData,
395
+ request_options: typing.Optional[RequestOptions] = None,
396
+ ) -> FolderResponse:
397
+ """
398
+ Create a new folder inside the given <i>folder_id</i> path param. <br>Rate Limits: 3 calls per 1 second(s) per account_user
399
+
400
+ Parameters
401
+ ----------
402
+ account_id : Uuid
403
+
404
+
405
+ folder_id : Uuid
406
+
407
+
408
+ data : FolderCreateParamsData
409
+
410
+ request_options : typing.Optional[RequestOptions]
411
+ Request-specific configuration.
412
+
413
+ Returns
414
+ -------
415
+ FolderResponse
416
+ Created
417
+
418
+ Examples
419
+ --------
420
+ from frameio import Frameio
421
+ from frameio.folders import FolderCreateParamsData
422
+
423
+ client = Frameio(
424
+ token="YOUR_TOKEN",
425
+ )
426
+ client.folders.create(
427
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
428
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
429
+ data=FolderCreateParamsData(
430
+ name="Folder name",
431
+ ),
432
+ )
433
+ """
434
+ _response = self._raw_client.create(account_id, folder_id, data=data, request_options=request_options)
435
+ return _response.data
436
+
437
+ def move(
438
+ self,
439
+ account_id: Uuid,
440
+ folder_id: Uuid,
441
+ *,
442
+ data: FolderMoveParamsData,
443
+ request_options: typing.Optional[RequestOptions] = None,
444
+ ) -> FolderResponse:
445
+ """
446
+ Move folder to a folder. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
447
+
448
+ Parameters
449
+ ----------
450
+ account_id : Uuid
451
+
452
+
453
+ folder_id : Uuid
454
+
455
+
456
+ data : FolderMoveParamsData
457
+
458
+ request_options : typing.Optional[RequestOptions]
459
+ Request-specific configuration.
460
+
461
+ Returns
462
+ -------
463
+ FolderResponse
464
+ OK
465
+
466
+ Examples
467
+ --------
468
+ from frameio import Frameio
469
+ from frameio.folders import FolderMoveParamsData
470
+
471
+ client = Frameio(
472
+ token="YOUR_TOKEN",
473
+ )
474
+ client.folders.move(
475
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
476
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
477
+ data=FolderMoveParamsData(
478
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
479
+ ),
480
+ )
481
+ """
482
+ _response = self._raw_client.move(account_id, folder_id, data=data, request_options=request_options)
483
+ return _response.data
484
+
485
+
486
+ class AsyncFoldersClient:
487
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
488
+ self._raw_client = AsyncRawFoldersClient(client_wrapper=client_wrapper)
489
+
490
+ @property
491
+ def with_raw_response(self) -> AsyncRawFoldersClient:
492
+ """
493
+ Retrieves a raw implementation of this client that returns raw responses.
494
+
495
+ Returns
496
+ -------
497
+ AsyncRawFoldersClient
498
+ """
499
+ return self._raw_client
500
+
501
+ async def show(
502
+ self,
503
+ account_id: Uuid,
504
+ folder_id: Uuid,
505
+ *,
506
+ include: typing.Optional[AssetInclude] = None,
507
+ request_options: typing.Optional[RequestOptions] = None,
508
+ ) -> FolderWithIncludesResponse:
509
+ """
510
+ Show folder details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
511
+
512
+ Parameters
513
+ ----------
514
+ account_id : Uuid
515
+
516
+
517
+ folder_id : Uuid
518
+
519
+
520
+ include : typing.Optional[AssetInclude]
521
+
522
+
523
+ request_options : typing.Optional[RequestOptions]
524
+ Request-specific configuration.
525
+
526
+ Returns
527
+ -------
528
+ FolderWithIncludesResponse
529
+ OK
530
+
531
+ Examples
532
+ --------
533
+ import asyncio
534
+
535
+ from frameio import AsyncFrameio
536
+
537
+ client = AsyncFrameio(
538
+ token="YOUR_TOKEN",
539
+ )
540
+
541
+
542
+ async def main() -> None:
543
+ await client.folders.show(
544
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
545
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
546
+ include="creator",
547
+ )
548
+
549
+
550
+ asyncio.run(main())
551
+ """
552
+ _response = await self._raw_client.show(account_id, folder_id, include=include, request_options=request_options)
553
+ return _response.data
554
+
555
+ async def delete(
556
+ self, account_id: Uuid, folder_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
557
+ ) -> None:
558
+ """
559
+ Delete folder by id. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
560
+
561
+ Parameters
562
+ ----------
563
+ account_id : Uuid
564
+
565
+
566
+ folder_id : Uuid
567
+
568
+
569
+ request_options : typing.Optional[RequestOptions]
570
+ Request-specific configuration.
571
+
572
+ Returns
573
+ -------
574
+ None
575
+
576
+ Examples
577
+ --------
578
+ import asyncio
579
+
580
+ from frameio import AsyncFrameio
581
+
582
+ client = AsyncFrameio(
583
+ token="YOUR_TOKEN",
584
+ )
585
+
586
+
587
+ async def main() -> None:
588
+ await client.folders.delete(
589
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
590
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
591
+ )
592
+
593
+
594
+ asyncio.run(main())
595
+ """
596
+ _response = await self._raw_client.delete(account_id, folder_id, request_options=request_options)
597
+ return _response.data
598
+
599
+ async def update(
600
+ self,
601
+ account_id: Uuid,
602
+ folder_id: Uuid,
603
+ *,
604
+ data: FolderUpdateParamsData,
605
+ request_options: typing.Optional[RequestOptions] = None,
606
+ ) -> FolderResponse:
607
+ """
608
+ Update folder details. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
609
+
610
+ Parameters
611
+ ----------
612
+ account_id : Uuid
613
+
614
+
615
+ folder_id : Uuid
616
+
617
+
618
+ data : FolderUpdateParamsData
619
+
620
+ request_options : typing.Optional[RequestOptions]
621
+ Request-specific configuration.
622
+
623
+ Returns
624
+ -------
625
+ FolderResponse
626
+ OK
627
+
628
+ Examples
629
+ --------
630
+ import asyncio
631
+
632
+ from frameio import AsyncFrameio
633
+ from frameio.folders import FolderUpdateParamsData
634
+
635
+ client = AsyncFrameio(
636
+ token="YOUR_TOKEN",
637
+ )
638
+
639
+
640
+ async def main() -> None:
641
+ await client.folders.update(
642
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
643
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
644
+ data=FolderUpdateParamsData(
645
+ name="Folder name",
646
+ ),
647
+ )
648
+
649
+
650
+ asyncio.run(main())
651
+ """
652
+ _response = await self._raw_client.update(account_id, folder_id, data=data, request_options=request_options)
653
+ return _response.data
654
+
655
+ async def index(
656
+ self,
657
+ account_id: Uuid,
658
+ folder_id: Uuid,
659
+ *,
660
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
661
+ type: typing.Optional[ChildrenType] = None,
662
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
663
+ page_size: typing.Optional[RequestPageSize] = None,
664
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
665
+ request_options: typing.Optional[RequestOptions] = None,
666
+ ) -> AssetsWithIncludesResponse:
667
+ """
668
+ List the children in the given folder.
669
+ <br>
670
+ Use the `include` query parameter to selectively include additional properties in the response.
671
+ <br>
672
+ Note: if you include `media_links.original` and the user does not have permission to download files
673
+ in the corresponding project, then this endpoint will respond with a `403 Forbidden` error.
674
+ If the content is inaccessible because watermarking is required for this user and isn't supported by
675
+ the requested media_links, then the request will succeed but the unsupported media links will be set to null.
676
+ Similarly, if a requested transcode link does not exist for a particular file (e.g. including
677
+ `media_links.video_h264_180` on a static image file) or transoding process hasn't finished
678
+ (i.e. the file's `status` is "uploaded" rather than "transcoded"), then the a media link will also be set to
679
+ null in the response payload. In short, the client must handle null media links gracefully.
680
+ <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
681
+
682
+ Parameters
683
+ ----------
684
+ account_id : Uuid
685
+
686
+
687
+ folder_id : Uuid
688
+
689
+
690
+ include : typing.Optional[FileWithMediaLinksInclude]
691
+
692
+
693
+ type : typing.Optional[ChildrenType]
694
+
695
+
696
+ after : typing.Optional[RequestAfterOpaqueCursor]
697
+ Opaque Cursor query param for requests returning paginated results.
698
+ <br/>
699
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
700
+
701
+ page_size : typing.Optional[RequestPageSize]
702
+
703
+
704
+ include_total_count : typing.Optional[IncludeTotalCount]
705
+
706
+
707
+ request_options : typing.Optional[RequestOptions]
708
+ Request-specific configuration.
709
+
710
+ Returns
711
+ -------
712
+ AssetsWithIncludesResponse
713
+ OK
714
+
715
+ Examples
716
+ --------
717
+ import asyncio
718
+
719
+ from frameio import AsyncFrameio
720
+
721
+ client = AsyncFrameio(
722
+ token="YOUR_TOKEN",
723
+ )
724
+
725
+
726
+ async def main() -> None:
727
+ await client.folders.index(
728
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
729
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
730
+ include="media_links",
731
+ type="file,folder,version_stack",
732
+ after="<opaque_cursor>",
733
+ page_size=10,
734
+ include_total_count=False,
735
+ )
736
+
737
+
738
+ asyncio.run(main())
739
+ """
740
+ _response = await self._raw_client.index(
741
+ account_id,
742
+ folder_id,
743
+ include=include,
744
+ type=type,
745
+ after=after,
746
+ page_size=page_size,
747
+ include_total_count=include_total_count,
748
+ request_options=request_options,
749
+ )
750
+ return _response.data
751
+
752
+ async def copy(
753
+ self,
754
+ account_id: Uuid,
755
+ folder_id: Uuid,
756
+ *,
757
+ copy_metadata: typing.Optional[bool] = None,
758
+ data: typing.Optional[FolderCopyParamsData] = OMIT,
759
+ request_options: typing.Optional[RequestOptions] = None,
760
+ ) -> FolderCopyResponse:
761
+ """
762
+ Copy folder. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
763
+
764
+ Parameters
765
+ ----------
766
+ account_id : Uuid
767
+
768
+
769
+ folder_id : Uuid
770
+
771
+
772
+ copy_metadata : typing.Optional[bool]
773
+ Whether to copy metadata values along with the folder
774
+
775
+ data : typing.Optional[FolderCopyParamsData]
776
+
777
+ request_options : typing.Optional[RequestOptions]
778
+ Request-specific configuration.
779
+
780
+ Returns
781
+ -------
782
+ FolderCopyResponse
783
+ OK
784
+
785
+ Examples
786
+ --------
787
+ import asyncio
788
+
789
+ from frameio import AsyncFrameio
790
+ from frameio.folders import FolderCopyParamsData
791
+
792
+ client = AsyncFrameio(
793
+ token="YOUR_TOKEN",
794
+ )
795
+
796
+
797
+ async def main() -> None:
798
+ await client.folders.copy(
799
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
800
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
801
+ copy_metadata=True,
802
+ data=FolderCopyParamsData(
803
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
804
+ ),
805
+ )
806
+
807
+
808
+ asyncio.run(main())
809
+ """
810
+ _response = await self._raw_client.copy(
811
+ account_id, folder_id, copy_metadata=copy_metadata, data=data, request_options=request_options
812
+ )
813
+ return _response.data
814
+
815
+ async def list(
816
+ self,
817
+ account_id: Uuid,
818
+ folder_id: Uuid,
819
+ *,
820
+ include: typing.Optional[AssetInclude] = None,
821
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
822
+ page_size: typing.Optional[RequestPageSize] = None,
823
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
824
+ request_options: typing.Optional[RequestOptions] = None,
825
+ ) -> FoldersWithIncludesResponse:
826
+ """
827
+ List folders in a given folder. <br>Rate Limits: 5 calls per 1 second(s) per account_user
828
+
829
+ Parameters
830
+ ----------
831
+ account_id : Uuid
832
+
833
+
834
+ folder_id : Uuid
835
+
836
+
837
+ include : typing.Optional[AssetInclude]
838
+
839
+
840
+ after : typing.Optional[RequestAfterOpaqueCursor]
841
+ Opaque Cursor query param for requests returning paginated results.
842
+ <br/>
843
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
844
+
845
+ page_size : typing.Optional[RequestPageSize]
846
+
847
+
848
+ include_total_count : typing.Optional[IncludeTotalCount]
849
+
850
+
851
+ request_options : typing.Optional[RequestOptions]
852
+ Request-specific configuration.
853
+
854
+ Returns
855
+ -------
856
+ FoldersWithIncludesResponse
857
+ OK
858
+
859
+ Examples
860
+ --------
861
+ import asyncio
862
+
863
+ from frameio import AsyncFrameio
864
+
865
+ client = AsyncFrameio(
866
+ token="YOUR_TOKEN",
867
+ )
868
+
869
+
870
+ async def main() -> None:
871
+ await client.folders.list(
872
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
873
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
874
+ include="creator",
875
+ after="<opaque_cursor>",
876
+ page_size=10,
877
+ include_total_count=False,
878
+ )
879
+
880
+
881
+ asyncio.run(main())
882
+ """
883
+ _response = await self._raw_client.list(
884
+ account_id,
885
+ folder_id,
886
+ include=include,
887
+ after=after,
888
+ page_size=page_size,
889
+ include_total_count=include_total_count,
890
+ request_options=request_options,
891
+ )
892
+ return _response.data
893
+
894
+ async def create(
895
+ self,
896
+ account_id: Uuid,
897
+ folder_id: Uuid,
898
+ *,
899
+ data: FolderCreateParamsData,
900
+ request_options: typing.Optional[RequestOptions] = None,
901
+ ) -> FolderResponse:
902
+ """
903
+ Create a new folder inside the given <i>folder_id</i> path param. <br>Rate Limits: 3 calls per 1 second(s) per account_user
904
+
905
+ Parameters
906
+ ----------
907
+ account_id : Uuid
908
+
909
+
910
+ folder_id : Uuid
911
+
912
+
913
+ data : FolderCreateParamsData
914
+
915
+ request_options : typing.Optional[RequestOptions]
916
+ Request-specific configuration.
917
+
918
+ Returns
919
+ -------
920
+ FolderResponse
921
+ Created
922
+
923
+ Examples
924
+ --------
925
+ import asyncio
926
+
927
+ from frameio import AsyncFrameio
928
+ from frameio.folders import FolderCreateParamsData
929
+
930
+ client = AsyncFrameio(
931
+ token="YOUR_TOKEN",
932
+ )
933
+
934
+
935
+ async def main() -> None:
936
+ await client.folders.create(
937
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
938
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
939
+ data=FolderCreateParamsData(
940
+ name="Folder name",
941
+ ),
942
+ )
943
+
944
+
945
+ asyncio.run(main())
946
+ """
947
+ _response = await self._raw_client.create(account_id, folder_id, data=data, request_options=request_options)
948
+ return _response.data
949
+
950
+ async def move(
951
+ self,
952
+ account_id: Uuid,
953
+ folder_id: Uuid,
954
+ *,
955
+ data: FolderMoveParamsData,
956
+ request_options: typing.Optional[RequestOptions] = None,
957
+ ) -> FolderResponse:
958
+ """
959
+ Move folder to a folder. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
960
+
961
+ Parameters
962
+ ----------
963
+ account_id : Uuid
964
+
965
+
966
+ folder_id : Uuid
967
+
968
+
969
+ data : FolderMoveParamsData
970
+
971
+ request_options : typing.Optional[RequestOptions]
972
+ Request-specific configuration.
973
+
974
+ Returns
975
+ -------
976
+ FolderResponse
977
+ OK
978
+
979
+ Examples
980
+ --------
981
+ import asyncio
982
+
983
+ from frameio import AsyncFrameio
984
+ from frameio.folders import FolderMoveParamsData
985
+
986
+ client = AsyncFrameio(
987
+ token="YOUR_TOKEN",
988
+ )
989
+
990
+
991
+ async def main() -> None:
992
+ await client.folders.move(
993
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
994
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
995
+ data=FolderMoveParamsData(
996
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
997
+ ),
998
+ )
999
+
1000
+
1001
+ asyncio.run(main())
1002
+ """
1003
+ _response = await self._raw_client.move(account_id, folder_id, data=data, request_options=request_options)
1004
+ return _response.data