frameio 0.0.23__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.

Potentially problematic release.


This version of frameio might be problematic. Click here for more details.

Files changed (363) hide show
  1. frameio/__init__.py +1115 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +182 -0
  4. frameio/account_permissions/raw_client.py +301 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +151 -0
  7. frameio/accounts/raw_client.py +281 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +34 -0
  10. frameio/comments/client.py +596 -0
  11. frameio/comments/raw_client.py +1252 -0
  12. frameio/comments/types/__init__.py +38 -0
  13. frameio/comments/types/create_comment_params_data.py +25 -0
  14. frameio/comments/types/update_comment_params_data.py +25 -0
  15. frameio/core/__init__.py +110 -0
  16. frameio/core/api_error.py +23 -0
  17. frameio/core/client_wrapper.py +87 -0
  18. frameio/core/datetime_utils.py +28 -0
  19. frameio/core/file.py +67 -0
  20. frameio/core/force_multipart.py +18 -0
  21. frameio/core/http_client.py +543 -0
  22. frameio/core/http_response.py +55 -0
  23. frameio/core/jsonable_encoder.py +100 -0
  24. frameio/core/pagination.py +82 -0
  25. frameio/core/pydantic_utilities.py +258 -0
  26. frameio/core/query_encoder.py +58 -0
  27. frameio/core/remove_none_from_dict.py +11 -0
  28. frameio/core/request_options.py +35 -0
  29. frameio/core/serialization.py +276 -0
  30. frameio/environment.py +7 -0
  31. frameio/errors/__init__.py +53 -0
  32. frameio/errors/bad_request_error.py +11 -0
  33. frameio/errors/forbidden_error.py +11 -0
  34. frameio/errors/not_found_error.py +11 -0
  35. frameio/errors/too_many_requests_error.py +11 -0
  36. frameio/errors/unauthorized_error.py +11 -0
  37. frameio/errors/unprocessable_entity_error.py +10 -0
  38. frameio/files/__init__.py +55 -0
  39. frameio/files/client.py +1136 -0
  40. frameio/files/raw_client.py +2492 -0
  41. frameio/files/types/__init__.py +53 -0
  42. frameio/files/types/file_copy_params_data.py +15 -0
  43. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  44. frameio/files/types/file_create_params_data.py +31 -0
  45. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  46. frameio/files/types/file_move_params_data.py +15 -0
  47. frameio/files/types/file_update_params_data.py +15 -0
  48. frameio/folders/__init__.py +39 -0
  49. frameio/folders/client.py +988 -0
  50. frameio/folders/raw_client.py +2058 -0
  51. frameio/folders/types/__init__.py +42 -0
  52. frameio/folders/types/folder_copy_params_data.py +15 -0
  53. frameio/folders/types/folder_create_params_data.py +15 -0
  54. frameio/folders/types/folder_move_params_data.py +15 -0
  55. frameio/folders/types/folder_update_params_data.py +15 -0
  56. frameio/metadata/__init__.py +37 -0
  57. frameio/metadata/client.py +291 -0
  58. frameio/metadata/raw_client.py +509 -0
  59. frameio/metadata/types/__init__.py +38 -0
  60. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  61. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  62. frameio/metadata_fields/__init__.py +103 -0
  63. frameio/metadata_fields/client.py +536 -0
  64. frameio/metadata_fields/raw_client.py +996 -0
  65. frameio/metadata_fields/types/__init__.py +105 -0
  66. frameio/metadata_fields/types/create_field_definition_params_data.py +108 -0
  67. frameio/metadata_fields/types/update_field_definition_params_data.py +114 -0
  68. frameio/project_permissions/__init__.py +4 -0
  69. frameio/project_permissions/client.py +415 -0
  70. frameio/project_permissions/raw_client.py +789 -0
  71. frameio/projects/__init__.py +4 -0
  72. frameio/projects/client.py +582 -0
  73. frameio/projects/raw_client.py +1250 -0
  74. frameio/py.typed +0 -0
  75. frameio/shares/__init__.py +64 -0
  76. frameio/shares/client.py +1192 -0
  77. frameio/shares/raw_client.py +2446 -0
  78. frameio/shares/types/__init__.py +61 -0
  79. frameio/shares/types/add_asset_params_data.py +15 -0
  80. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  81. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  82. frameio/shares/types/create_share_params_data.py +25 -0
  83. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  84. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  85. frameio/shares/types/update_share_params_data.py +33 -0
  86. frameio/shares/types/update_share_params_data_access.py +5 -0
  87. frameio/types/__init__.py +959 -0
  88. frameio/types/account.py +65 -0
  89. frameio/types/account_roles_item.py +5 -0
  90. frameio/types/account_user_role.py +23 -0
  91. frameio/types/account_user_role_role.py +5 -0
  92. frameio/types/account_user_roles_response.py +27 -0
  93. frameio/types/accounts_response.py +23 -0
  94. frameio/types/add_asset_response.py +13 -0
  95. frameio/types/add_asset_response_data.py +15 -0
  96. frameio/types/asset_common.py +48 -0
  97. frameio/types/asset_common_type.py +5 -0
  98. frameio/types/asset_common_with_includes.py +56 -0
  99. frameio/types/asset_include.py +5 -0
  100. frameio/types/asset_share_params.py +38 -0
  101. frameio/types/asset_share_params_access.py +5 -0
  102. frameio/types/asset_with_includes.py +72 -0
  103. frameio/types/assets_with_includes_response.py +23 -0
  104. frameio/types/bad_request.py +13 -0
  105. frameio/types/bad_request_errors_item.py +15 -0
  106. frameio/types/bad_request_errors_item_source.py +12 -0
  107. frameio/types/boolean_value.py +12 -0
  108. frameio/types/children_type.py +3 -0
  109. frameio/types/comment.py +52 -0
  110. frameio/types/comment_include.py +5 -0
  111. frameio/types/comment_response.py +13 -0
  112. frameio/types/comment_with_includes.py +17 -0
  113. frameio/types/comment_with_includes_response.py +13 -0
  114. frameio/types/comments_with_includes_response.py +23 -0
  115. frameio/types/date_definition.py +43 -0
  116. frameio/types/date_definition_field_configuration.py +21 -0
  117. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  118. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  119. frameio/types/date_definition_params.py +17 -0
  120. frameio/types/date_definition_params_field_configuration.py +23 -0
  121. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  122. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  123. frameio/types/date_definition_with_includes.py +13 -0
  124. frameio/types/date_value.py +12 -0
  125. frameio/types/email.py +3 -0
  126. frameio/types/field_definition.py +163 -0
  127. frameio/types/field_definition_include.py +5 -0
  128. frameio/types/field_definition_response.py +13 -0
  129. frameio/types/field_definition_with_includes.py +174 -0
  130. frameio/types/field_definitions_with_includes_response.py +27 -0
  131. frameio/types/field_value_common.py +29 -0
  132. frameio/types/file.py +60 -0
  133. frameio/types/file_copy_response.py +13 -0
  134. frameio/types/file_remote_upload_response.py +17 -0
  135. frameio/types/file_response.py +13 -0
  136. frameio/types/file_status.py +5 -0
  137. frameio/types/file_upload_status.py +41 -0
  138. frameio/types/file_upload_status_response.py +13 -0
  139. frameio/types/file_with_includes.py +25 -0
  140. frameio/types/file_with_includes_response.py +13 -0
  141. frameio/types/file_with_includes_status.py +5 -0
  142. frameio/types/file_with_media_links_include.py +19 -0
  143. frameio/types/file_with_upload_urls.py +16 -0
  144. frameio/types/file_with_upload_urls_response.py +13 -0
  145. frameio/types/folder.py +15 -0
  146. frameio/types/folder_copy_response.py +13 -0
  147. frameio/types/folder_response.py +13 -0
  148. frameio/types/folder_with_includes.py +61 -0
  149. frameio/types/folder_with_includes_response.py +13 -0
  150. frameio/types/folders_with_includes_response.py +23 -0
  151. frameio/types/forbidden.py +13 -0
  152. frameio/types/forbidden_errors_item.py +15 -0
  153. frameio/types/forbidden_errors_item_source.py +12 -0
  154. frameio/types/include.py +5 -0
  155. frameio/types/include_total_count.py +3 -0
  156. frameio/types/integer_value.py +12 -0
  157. frameio/types/json_error_response.py +13 -0
  158. frameio/types/json_error_response_errors_item.py +15 -0
  159. frameio/types/json_error_response_errors_item_source.py +12 -0
  160. frameio/types/links.py +22 -0
  161. frameio/types/long_text_definition.py +43 -0
  162. frameio/types/long_text_definition_field_configuration.py +10 -0
  163. frameio/types/long_text_definition_params.py +15 -0
  164. frameio/types/long_text_definition_with_includes.py +13 -0
  165. frameio/types/media_link_common.py +17 -0
  166. frameio/types/media_links_collection.py +23 -0
  167. frameio/types/metadata_field.py +145 -0
  168. frameio/types/metadata_response.py +13 -0
  169. frameio/types/metadata_with_definition.py +21 -0
  170. frameio/types/multi_select_value.py +14 -0
  171. frameio/types/multi_user_value.py +20 -0
  172. frameio/types/multi_user_value_member_options_type.py +5 -0
  173. frameio/types/no_content.py +3 -0
  174. frameio/types/not_found.py +13 -0
  175. frameio/types/not_found_errors_item.py +15 -0
  176. frameio/types/not_found_errors_item_source.py +12 -0
  177. frameio/types/number_definition.py +43 -0
  178. frameio/types/number_definition_field_configuration.py +21 -0
  179. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  180. frameio/types/number_definition_params.py +17 -0
  181. frameio/types/number_definition_params_field_configuration.py +23 -0
  182. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  183. frameio/types/number_definition_with_includes.py +13 -0
  184. frameio/types/number_value.py +12 -0
  185. frameio/types/original_media_link.py +16 -0
  186. frameio/types/profile.py +34 -0
  187. frameio/types/profile_response.py +17 -0
  188. frameio/types/project.py +55 -0
  189. frameio/types/project_include.py +5 -0
  190. frameio/types/project_params.py +17 -0
  191. frameio/types/project_params_data.py +15 -0
  192. frameio/types/project_response.py +17 -0
  193. frameio/types/project_with_includes.py +18 -0
  194. frameio/types/project_with_includes_response.py +17 -0
  195. frameio/types/projects_with_includes_response.py +27 -0
  196. frameio/types/rating_definition.py +43 -0
  197. frameio/types/rating_definition_field_configuration.py +22 -0
  198. frameio/types/rating_definition_field_configuration_style.py +5 -0
  199. frameio/types/rating_definition_params.py +17 -0
  200. frameio/types/rating_definition_params_field_configuration.py +22 -0
  201. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  202. frameio/types/rating_definition_with_includes.py +13 -0
  203. frameio/types/remove_asset_response.py +13 -0
  204. frameio/types/remove_asset_response_data.py +15 -0
  205. frameio/types/rendition_media_link.py +19 -0
  206. frameio/types/request_after_opaque_cursor.py +5 -0
  207. frameio/types/request_page_size.py +3 -0
  208. frameio/types/select_definition.py +43 -0
  209. frameio/types/select_definition_field_configuration.py +18 -0
  210. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  211. frameio/types/select_definition_params.py +17 -0
  212. frameio/types/select_definition_params_field_configuration.py +20 -0
  213. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  214. frameio/types/select_definition_with_includes.py +13 -0
  215. frameio/types/select_multi_definition.py +43 -0
  216. frameio/types/select_multi_definition_field_configuration.py +18 -0
  217. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  218. frameio/types/select_multi_definition_params.py +17 -0
  219. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  220. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  221. frameio/types/select_multi_definition_with_includes.py +13 -0
  222. frameio/types/select_option.py +20 -0
  223. frameio/types/select_value.py +14 -0
  224. frameio/types/share.py +66 -0
  225. frameio/types/share_access.py +5 -0
  226. frameio/types/share_response.py +13 -0
  227. frameio/types/share_reviewers_response.py +27 -0
  228. frameio/types/shares_response.py +27 -0
  229. frameio/types/single_user_value.py +20 -0
  230. frameio/types/single_user_value_member_options_type.py +5 -0
  231. frameio/types/text_definition.py +43 -0
  232. frameio/types/text_definition_field_configuration.py +10 -0
  233. frameio/types/text_definition_params.py +15 -0
  234. frameio/types/text_definition_with_includes.py +13 -0
  235. frameio/types/text_value.py +12 -0
  236. frameio/types/toggle_definition.py +43 -0
  237. frameio/types/toggle_definition_field_configuration.py +15 -0
  238. frameio/types/toggle_definition_params.py +17 -0
  239. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  240. frameio/types/toggle_definition_with_includes.py +13 -0
  241. frameio/types/too_many_requests.py +13 -0
  242. frameio/types/too_many_requests_errors_item.py +15 -0
  243. frameio/types/too_many_requests_errors_item_source.py +12 -0
  244. frameio/types/unauthorized.py +13 -0
  245. frameio/types/unauthorized_errors_item.py +15 -0
  246. frameio/types/unauthorized_errors_item_source.py +12 -0
  247. frameio/types/unprocessable_entity.py +13 -0
  248. frameio/types/unprocessable_entity_errors_item.py +15 -0
  249. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  250. frameio/types/update_date_definition_params.py +17 -0
  251. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  252. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  253. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  254. frameio/types/update_long_text_definition_params.py +15 -0
  255. frameio/types/update_number_definition_params.py +17 -0
  256. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  257. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  258. frameio/types/update_rating_definition_params.py +17 -0
  259. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  260. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  261. frameio/types/update_select_definition_params.py +17 -0
  262. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  263. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  264. frameio/types/update_select_multi_definition_params.py +19 -0
  265. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  266. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  267. frameio/types/update_text_definition_params.py +15 -0
  268. frameio/types/update_toggle_definition_params.py +17 -0
  269. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  270. frameio/types/update_user_multi_definition_params.py +17 -0
  271. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  272. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  273. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  274. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  275. frameio/types/update_user_roles_params.py +17 -0
  276. frameio/types/update_user_roles_params_data.py +13 -0
  277. frameio/types/update_user_roles_params_data_role.py +7 -0
  278. frameio/types/update_user_roles_response.py +13 -0
  279. frameio/types/update_user_roles_response_data.py +13 -0
  280. frameio/types/update_user_roles_response_data_role.py +7 -0
  281. frameio/types/update_user_single_definition_params.py +17 -0
  282. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  283. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  284. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  285. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  286. frameio/types/upload_url.py +20 -0
  287. frameio/types/user.py +44 -0
  288. frameio/types/user_multi_definition.py +43 -0
  289. frameio/types/user_multi_definition_field_configuration.py +23 -0
  290. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  291. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  292. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  293. frameio/types/user_multi_definition_params.py +17 -0
  294. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  295. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  296. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  297. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  298. frameio/types/user_multi_definition_with_includes.py +13 -0
  299. frameio/types/user_role.py +19 -0
  300. frameio/types/user_role_role.py +7 -0
  301. frameio/types/user_roles_response.py +27 -0
  302. frameio/types/user_single_definition.py +43 -0
  303. frameio/types/user_single_definition_field_configuration.py +23 -0
  304. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  305. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  306. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  307. frameio/types/user_single_definition_params.py +17 -0
  308. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  309. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_single_definition_with_includes.py +13 -0
  313. frameio/types/user_value.py +18 -0
  314. frameio/types/user_value_type.py +5 -0
  315. frameio/types/uuid_.py +3 -0
  316. frameio/types/version_stack.py +50 -0
  317. frameio/types/version_stack_copy_response.py +13 -0
  318. frameio/types/version_stack_response.py +13 -0
  319. frameio/types/version_stack_with_includes.py +58 -0
  320. frameio/types/version_stack_with_includes_response.py +13 -0
  321. frameio/types/version_stacks_with_includes_response.py +19 -0
  322. frameio/types/webhook.py +36 -0
  323. frameio/types/webhook_create_response.py +17 -0
  324. frameio/types/webhook_create_response_data.py +15 -0
  325. frameio/types/webhook_events.py +5 -0
  326. frameio/types/webhook_response.py +13 -0
  327. frameio/types/webhook_with_includes.py +13 -0
  328. frameio/types/webhook_with_includes_response.py +13 -0
  329. frameio/types/webhooks_with_includes_response.py +23 -0
  330. frameio/types/workspace.py +40 -0
  331. frameio/types/workspace_include.py +5 -0
  332. frameio/types/workspace_params.py +17 -0
  333. frameio/types/workspace_params_data.py +15 -0
  334. frameio/types/workspace_response.py +17 -0
  335. frameio/types/workspace_with_includes.py +13 -0
  336. frameio/types/workspace_with_includes_response.py +17 -0
  337. frameio/types/workspaces_with_includes_response.py +27 -0
  338. frameio/users/__init__.py +4 -0
  339. frameio/users/client.py +100 -0
  340. frameio/users/raw_client.py +234 -0
  341. frameio/version.py +3 -0
  342. frameio/version_stacks/__init__.py +38 -0
  343. frameio/version_stacks/client.py +699 -0
  344. frameio/version_stacks/raw_client.py +1359 -0
  345. frameio/version_stacks/types/__init__.py +40 -0
  346. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  347. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  348. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  349. frameio/webhooks/__init__.py +34 -0
  350. frameio/webhooks/client.py +782 -0
  351. frameio/webhooks/raw_client.py +1312 -0
  352. frameio/webhooks/types/__init__.py +38 -0
  353. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  354. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  355. frameio/workspace_permissions/__init__.py +4 -0
  356. frameio/workspace_permissions/client.py +419 -0
  357. frameio/workspace_permissions/raw_client.py +789 -0
  358. frameio/workspaces/__init__.py +4 -0
  359. frameio/workspaces/client.py +552 -0
  360. frameio/workspaces/raw_client.py +1226 -0
  361. frameio-0.0.23.dist-info/METADATA +255 -0
  362. frameio-0.0.23.dist-info/RECORD +363 -0
  363. frameio-0.0.23.dist-info/WHEEL +4 -0
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
@@ -0,0 +1,182 @@
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.account_user_roles_response import AccountUserRolesResponse
8
+ from ..types.include_total_count import IncludeTotalCount
9
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
10
+ from ..types.request_page_size import RequestPageSize
11
+ from ..types.uuid_ import Uuid
12
+ from .raw_client import AsyncRawAccountPermissionsClient, RawAccountPermissionsClient
13
+
14
+
15
+ class AccountPermissionsClient:
16
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
17
+ self._raw_client = RawAccountPermissionsClient(client_wrapper=client_wrapper)
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawAccountPermissionsClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawAccountPermissionsClient
27
+ """
28
+ return self._raw_client
29
+
30
+ def index(
31
+ self,
32
+ account_id: Uuid,
33
+ *,
34
+ include_deactivated: typing.Optional[bool] = None,
35
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
36
+ page_size: typing.Optional[RequestPageSize] = None,
37
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
38
+ request_options: typing.Optional[RequestOptions] = None,
39
+ ) -> AccountUserRolesResponse:
40
+ """
41
+ List user roles for a given account. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
42
+
43
+ Parameters
44
+ ----------
45
+ account_id : Uuid
46
+
47
+
48
+ include_deactivated : typing.Optional[bool]
49
+ Supports including deactivated users in the response. Default is false.
50
+
51
+ after : typing.Optional[RequestAfterOpaqueCursor]
52
+ Opaque Cursor query param for requests returning paginated results.
53
+ <br/>
54
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
55
+
56
+ page_size : typing.Optional[RequestPageSize]
57
+
58
+
59
+ include_total_count : typing.Optional[IncludeTotalCount]
60
+
61
+
62
+ request_options : typing.Optional[RequestOptions]
63
+ Request-specific configuration.
64
+
65
+ Returns
66
+ -------
67
+ AccountUserRolesResponse
68
+ OK
69
+
70
+ Examples
71
+ --------
72
+ from frameio import Frameio
73
+
74
+ client = Frameio(
75
+ token="YOUR_TOKEN",
76
+ )
77
+ client.account_permissions.index(
78
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
79
+ include_deactivated=True,
80
+ after="<opaque_cursor>",
81
+ page_size=10,
82
+ include_total_count=False,
83
+ )
84
+ """
85
+ _response = self._raw_client.index(
86
+ account_id,
87
+ include_deactivated=include_deactivated,
88
+ after=after,
89
+ page_size=page_size,
90
+ include_total_count=include_total_count,
91
+ request_options=request_options,
92
+ )
93
+ return _response.data
94
+
95
+
96
+ class AsyncAccountPermissionsClient:
97
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
98
+ self._raw_client = AsyncRawAccountPermissionsClient(client_wrapper=client_wrapper)
99
+
100
+ @property
101
+ def with_raw_response(self) -> AsyncRawAccountPermissionsClient:
102
+ """
103
+ Retrieves a raw implementation of this client that returns raw responses.
104
+
105
+ Returns
106
+ -------
107
+ AsyncRawAccountPermissionsClient
108
+ """
109
+ return self._raw_client
110
+
111
+ async def index(
112
+ self,
113
+ account_id: Uuid,
114
+ *,
115
+ include_deactivated: typing.Optional[bool] = None,
116
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
117
+ page_size: typing.Optional[RequestPageSize] = None,
118
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
119
+ request_options: typing.Optional[RequestOptions] = None,
120
+ ) -> AccountUserRolesResponse:
121
+ """
122
+ List user roles for a given account. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
123
+
124
+ Parameters
125
+ ----------
126
+ account_id : Uuid
127
+
128
+
129
+ include_deactivated : typing.Optional[bool]
130
+ Supports including deactivated users in the response. Default is false.
131
+
132
+ after : typing.Optional[RequestAfterOpaqueCursor]
133
+ Opaque Cursor query param for requests returning paginated results.
134
+ <br/>
135
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
136
+
137
+ page_size : typing.Optional[RequestPageSize]
138
+
139
+
140
+ include_total_count : typing.Optional[IncludeTotalCount]
141
+
142
+
143
+ request_options : typing.Optional[RequestOptions]
144
+ Request-specific configuration.
145
+
146
+ Returns
147
+ -------
148
+ AccountUserRolesResponse
149
+ OK
150
+
151
+ Examples
152
+ --------
153
+ import asyncio
154
+
155
+ from frameio import AsyncFrameio
156
+
157
+ client = AsyncFrameio(
158
+ token="YOUR_TOKEN",
159
+ )
160
+
161
+
162
+ async def main() -> None:
163
+ await client.account_permissions.index(
164
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
165
+ include_deactivated=True,
166
+ after="<opaque_cursor>",
167
+ page_size=10,
168
+ include_total_count=False,
169
+ )
170
+
171
+
172
+ asyncio.run(main())
173
+ """
174
+ _response = await self._raw_client.index(
175
+ account_id,
176
+ include_deactivated=include_deactivated,
177
+ after=after,
178
+ page_size=page_size,
179
+ include_total_count=include_total_count,
180
+ request_options=request_options,
181
+ )
182
+ return _response.data
@@ -0,0 +1,301 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.jsonable_encoder import jsonable_encoder
10
+ from ..core.pydantic_utilities import parse_obj_as
11
+ from ..core.request_options import RequestOptions
12
+ from ..errors.bad_request_error import BadRequestError
13
+ from ..errors.forbidden_error import ForbiddenError
14
+ from ..errors.not_found_error import NotFoundError
15
+ from ..errors.too_many_requests_error import TooManyRequestsError
16
+ from ..errors.unauthorized_error import UnauthorizedError
17
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
18
+ from ..types.account_user_roles_response import AccountUserRolesResponse
19
+ from ..types.bad_request import BadRequest
20
+ from ..types.forbidden import Forbidden
21
+ from ..types.include_total_count import IncludeTotalCount
22
+ from ..types.not_found import NotFound
23
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
24
+ from ..types.request_page_size import RequestPageSize
25
+ from ..types.too_many_requests import TooManyRequests
26
+ from ..types.unauthorized import Unauthorized
27
+ from ..types.uuid_ import Uuid
28
+
29
+
30
+ class RawAccountPermissionsClient:
31
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
32
+ self._client_wrapper = client_wrapper
33
+
34
+ def index(
35
+ self,
36
+ account_id: Uuid,
37
+ *,
38
+ include_deactivated: typing.Optional[bool] = None,
39
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
40
+ page_size: typing.Optional[RequestPageSize] = None,
41
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
42
+ request_options: typing.Optional[RequestOptions] = None,
43
+ ) -> HttpResponse[AccountUserRolesResponse]:
44
+ """
45
+ List user roles for a given account. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
46
+
47
+ Parameters
48
+ ----------
49
+ account_id : Uuid
50
+
51
+
52
+ include_deactivated : typing.Optional[bool]
53
+ Supports including deactivated users in the response. Default is false.
54
+
55
+ after : typing.Optional[RequestAfterOpaqueCursor]
56
+ Opaque Cursor query param for requests returning paginated results.
57
+ <br/>
58
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
59
+
60
+ page_size : typing.Optional[RequestPageSize]
61
+
62
+
63
+ include_total_count : typing.Optional[IncludeTotalCount]
64
+
65
+
66
+ request_options : typing.Optional[RequestOptions]
67
+ Request-specific configuration.
68
+
69
+ Returns
70
+ -------
71
+ HttpResponse[AccountUserRolesResponse]
72
+ OK
73
+ """
74
+ _response = self._client_wrapper.httpx_client.request(
75
+ f"v4/accounts/{jsonable_encoder(account_id)}/users",
76
+ method="GET",
77
+ params={
78
+ "include_deactivated": include_deactivated,
79
+ "after": after,
80
+ "page_size": page_size,
81
+ "include_total_count": include_total_count,
82
+ },
83
+ request_options=request_options,
84
+ )
85
+ try:
86
+ if 200 <= _response.status_code < 300:
87
+ _data = typing.cast(
88
+ AccountUserRolesResponse,
89
+ parse_obj_as(
90
+ type_=AccountUserRolesResponse, # type: ignore
91
+ object_=_response.json(),
92
+ ),
93
+ )
94
+ return HttpResponse(response=_response, data=_data)
95
+ if _response.status_code == 400:
96
+ raise BadRequestError(
97
+ headers=dict(_response.headers),
98
+ body=typing.cast(
99
+ BadRequest,
100
+ parse_obj_as(
101
+ type_=BadRequest, # type: ignore
102
+ object_=_response.json(),
103
+ ),
104
+ ),
105
+ )
106
+ if _response.status_code == 401:
107
+ raise UnauthorizedError(
108
+ headers=dict(_response.headers),
109
+ body=typing.cast(
110
+ Unauthorized,
111
+ parse_obj_as(
112
+ type_=Unauthorized, # type: ignore
113
+ object_=_response.json(),
114
+ ),
115
+ ),
116
+ )
117
+ if _response.status_code == 403:
118
+ raise ForbiddenError(
119
+ headers=dict(_response.headers),
120
+ body=typing.cast(
121
+ Forbidden,
122
+ parse_obj_as(
123
+ type_=Forbidden, # type: ignore
124
+ object_=_response.json(),
125
+ ),
126
+ ),
127
+ )
128
+ if _response.status_code == 404:
129
+ raise NotFoundError(
130
+ headers=dict(_response.headers),
131
+ body=typing.cast(
132
+ NotFound,
133
+ parse_obj_as(
134
+ type_=NotFound, # type: ignore
135
+ object_=_response.json(),
136
+ ),
137
+ ),
138
+ )
139
+ if _response.status_code == 422:
140
+ raise UnprocessableEntityError(
141
+ headers=dict(_response.headers),
142
+ body=typing.cast(
143
+ typing.Optional[typing.Any],
144
+ parse_obj_as(
145
+ type_=typing.Optional[typing.Any], # type: ignore
146
+ object_=_response.json(),
147
+ ),
148
+ ),
149
+ )
150
+ if _response.status_code == 429:
151
+ raise TooManyRequestsError(
152
+ headers=dict(_response.headers),
153
+ body=typing.cast(
154
+ TooManyRequests,
155
+ parse_obj_as(
156
+ type_=TooManyRequests, # type: ignore
157
+ object_=_response.json(),
158
+ ),
159
+ ),
160
+ )
161
+ _response_json = _response.json()
162
+ except JSONDecodeError:
163
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
164
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
165
+
166
+
167
+ class AsyncRawAccountPermissionsClient:
168
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
169
+ self._client_wrapper = client_wrapper
170
+
171
+ async def index(
172
+ self,
173
+ account_id: Uuid,
174
+ *,
175
+ include_deactivated: typing.Optional[bool] = None,
176
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
177
+ page_size: typing.Optional[RequestPageSize] = None,
178
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
179
+ request_options: typing.Optional[RequestOptions] = None,
180
+ ) -> AsyncHttpResponse[AccountUserRolesResponse]:
181
+ """
182
+ List user roles for a given account. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
183
+
184
+ Parameters
185
+ ----------
186
+ account_id : Uuid
187
+
188
+
189
+ include_deactivated : typing.Optional[bool]
190
+ Supports including deactivated users in the response. Default is false.
191
+
192
+ after : typing.Optional[RequestAfterOpaqueCursor]
193
+ Opaque Cursor query param for requests returning paginated results.
194
+ <br/>
195
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
196
+
197
+ page_size : typing.Optional[RequestPageSize]
198
+
199
+
200
+ include_total_count : typing.Optional[IncludeTotalCount]
201
+
202
+
203
+ request_options : typing.Optional[RequestOptions]
204
+ Request-specific configuration.
205
+
206
+ Returns
207
+ -------
208
+ AsyncHttpResponse[AccountUserRolesResponse]
209
+ OK
210
+ """
211
+ _response = await self._client_wrapper.httpx_client.request(
212
+ f"v4/accounts/{jsonable_encoder(account_id)}/users",
213
+ method="GET",
214
+ params={
215
+ "include_deactivated": include_deactivated,
216
+ "after": after,
217
+ "page_size": page_size,
218
+ "include_total_count": include_total_count,
219
+ },
220
+ request_options=request_options,
221
+ )
222
+ try:
223
+ if 200 <= _response.status_code < 300:
224
+ _data = typing.cast(
225
+ AccountUserRolesResponse,
226
+ parse_obj_as(
227
+ type_=AccountUserRolesResponse, # type: ignore
228
+ object_=_response.json(),
229
+ ),
230
+ )
231
+ return AsyncHttpResponse(response=_response, data=_data)
232
+ if _response.status_code == 400:
233
+ raise BadRequestError(
234
+ headers=dict(_response.headers),
235
+ body=typing.cast(
236
+ BadRequest,
237
+ parse_obj_as(
238
+ type_=BadRequest, # type: ignore
239
+ object_=_response.json(),
240
+ ),
241
+ ),
242
+ )
243
+ if _response.status_code == 401:
244
+ raise UnauthorizedError(
245
+ headers=dict(_response.headers),
246
+ body=typing.cast(
247
+ Unauthorized,
248
+ parse_obj_as(
249
+ type_=Unauthorized, # type: ignore
250
+ object_=_response.json(),
251
+ ),
252
+ ),
253
+ )
254
+ if _response.status_code == 403:
255
+ raise ForbiddenError(
256
+ headers=dict(_response.headers),
257
+ body=typing.cast(
258
+ Forbidden,
259
+ parse_obj_as(
260
+ type_=Forbidden, # type: ignore
261
+ object_=_response.json(),
262
+ ),
263
+ ),
264
+ )
265
+ if _response.status_code == 404:
266
+ raise NotFoundError(
267
+ headers=dict(_response.headers),
268
+ body=typing.cast(
269
+ NotFound,
270
+ parse_obj_as(
271
+ type_=NotFound, # type: ignore
272
+ object_=_response.json(),
273
+ ),
274
+ ),
275
+ )
276
+ if _response.status_code == 422:
277
+ raise UnprocessableEntityError(
278
+ headers=dict(_response.headers),
279
+ body=typing.cast(
280
+ typing.Optional[typing.Any],
281
+ parse_obj_as(
282
+ type_=typing.Optional[typing.Any], # type: ignore
283
+ object_=_response.json(),
284
+ ),
285
+ ),
286
+ )
287
+ if _response.status_code == 429:
288
+ raise TooManyRequestsError(
289
+ headers=dict(_response.headers),
290
+ body=typing.cast(
291
+ TooManyRequests,
292
+ parse_obj_as(
293
+ type_=TooManyRequests, # type: ignore
294
+ object_=_response.json(),
295
+ ),
296
+ ),
297
+ )
298
+ _response_json = _response.json()
299
+ except JSONDecodeError:
300
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
301
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
@@ -0,0 +1,151 @@
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.accounts_response import AccountsResponse
8
+ from ..types.include_total_count import IncludeTotalCount
9
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
10
+ from ..types.request_page_size import RequestPageSize
11
+ from .raw_client import AsyncRawAccountsClient, RawAccountsClient
12
+
13
+
14
+ class AccountsClient:
15
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
16
+ self._raw_client = RawAccountsClient(client_wrapper=client_wrapper)
17
+
18
+ @property
19
+ def with_raw_response(self) -> RawAccountsClient:
20
+ """
21
+ Retrieves a raw implementation of this client that returns raw responses.
22
+
23
+ Returns
24
+ -------
25
+ RawAccountsClient
26
+ """
27
+ return self._raw_client
28
+
29
+ def index(
30
+ self,
31
+ *,
32
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
33
+ page_size: typing.Optional[RequestPageSize] = None,
34
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
35
+ request_options: typing.Optional[RequestOptions] = None,
36
+ ) -> AccountsResponse:
37
+ """
38
+ List accounts for the current user. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
39
+
40
+ Parameters
41
+ ----------
42
+ after : typing.Optional[RequestAfterOpaqueCursor]
43
+ Opaque Cursor query param for requests returning paginated results.
44
+ <br/>
45
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
46
+
47
+ page_size : typing.Optional[RequestPageSize]
48
+
49
+
50
+ include_total_count : typing.Optional[IncludeTotalCount]
51
+
52
+
53
+ request_options : typing.Optional[RequestOptions]
54
+ Request-specific configuration.
55
+
56
+ Returns
57
+ -------
58
+ AccountsResponse
59
+ OK
60
+
61
+ Examples
62
+ --------
63
+ from frameio import Frameio
64
+
65
+ client = Frameio(
66
+ token="YOUR_TOKEN",
67
+ )
68
+ client.accounts.index(
69
+ after="<opaque_cursor>",
70
+ page_size=10,
71
+ include_total_count=False,
72
+ )
73
+ """
74
+ _response = self._raw_client.index(
75
+ after=after, page_size=page_size, include_total_count=include_total_count, request_options=request_options
76
+ )
77
+ return _response.data
78
+
79
+
80
+ class AsyncAccountsClient:
81
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
82
+ self._raw_client = AsyncRawAccountsClient(client_wrapper=client_wrapper)
83
+
84
+ @property
85
+ def with_raw_response(self) -> AsyncRawAccountsClient:
86
+ """
87
+ Retrieves a raw implementation of this client that returns raw responses.
88
+
89
+ Returns
90
+ -------
91
+ AsyncRawAccountsClient
92
+ """
93
+ return self._raw_client
94
+
95
+ async def index(
96
+ self,
97
+ *,
98
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
99
+ page_size: typing.Optional[RequestPageSize] = None,
100
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
101
+ request_options: typing.Optional[RequestOptions] = None,
102
+ ) -> AccountsResponse:
103
+ """
104
+ List accounts for the current user. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
105
+
106
+ Parameters
107
+ ----------
108
+ after : typing.Optional[RequestAfterOpaqueCursor]
109
+ Opaque Cursor query param for requests returning paginated results.
110
+ <br/>
111
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
112
+
113
+ page_size : typing.Optional[RequestPageSize]
114
+
115
+
116
+ include_total_count : typing.Optional[IncludeTotalCount]
117
+
118
+
119
+ request_options : typing.Optional[RequestOptions]
120
+ Request-specific configuration.
121
+
122
+ Returns
123
+ -------
124
+ AccountsResponse
125
+ OK
126
+
127
+ Examples
128
+ --------
129
+ import asyncio
130
+
131
+ from frameio import AsyncFrameio
132
+
133
+ client = AsyncFrameio(
134
+ token="YOUR_TOKEN",
135
+ )
136
+
137
+
138
+ async def main() -> None:
139
+ await client.accounts.index(
140
+ after="<opaque_cursor>",
141
+ page_size=10,
142
+ include_total_count=False,
143
+ )
144
+
145
+
146
+ asyncio.run(main())
147
+ """
148
+ _response = await self._raw_client.index(
149
+ after=after, page_size=page_size, include_total_count=include_total_count, request_options=request_options
150
+ )
151
+ return _response.data