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,38 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .webhook_create_params_data import WebhookCreateParamsData
10
+ from .webhook_update_params_data import WebhookUpdateParamsData
11
+ _dynamic_imports: typing.Dict[str, str] = {
12
+ "WebhookCreateParamsData": ".webhook_create_params_data",
13
+ "WebhookUpdateParamsData": ".webhook_update_params_data",
14
+ }
15
+
16
+
17
+ def __getattr__(attr_name: str) -> typing.Any:
18
+ module_name = _dynamic_imports.get(attr_name)
19
+ if module_name is None:
20
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
21
+ try:
22
+ module = import_module(module_name, __package__)
23
+ if module_name == f".{attr_name}":
24
+ return module
25
+ else:
26
+ return getattr(module, attr_name)
27
+ except ImportError as e:
28
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
29
+ except AttributeError as e:
30
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
31
+
32
+
33
+ def __dir__():
34
+ lazy_attrs = list(_dynamic_imports.keys())
35
+ return sorted(lazy_attrs)
36
+
37
+
38
+ __all__ = ["WebhookCreateParamsData", "WebhookUpdateParamsData"]
@@ -0,0 +1,18 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import UniversalBaseModel
7
+ from ...types.webhook_events import WebhookEvents
8
+
9
+
10
+ class WebhookCreateParamsData(UniversalBaseModel):
11
+ events: WebhookEvents
12
+ name: str
13
+ url: str = pydantic.Field()
14
+ """
15
+ URL where `event` is sent
16
+ """
17
+
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import UniversalBaseModel
7
+ from ...types.webhook_events import WebhookEvents
8
+
9
+
10
+ class WebhookUpdateParamsData(UniversalBaseModel):
11
+ active: typing.Optional[bool] = pydantic.Field(default=None)
12
+ """
13
+ Webhook active status
14
+ """
15
+
16
+ events: typing.Optional[WebhookEvents] = None
17
+ name: typing.Optional[str] = None
18
+ url: typing.Optional[str] = pydantic.Field(default=None)
19
+ """
20
+ URL where `event` is sent
21
+ """
22
+
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -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,419 @@
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.include_total_count import IncludeTotalCount
8
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
9
+ from ..types.request_page_size import RequestPageSize
10
+ from ..types.update_user_roles_params_data import UpdateUserRolesParamsData
11
+ from ..types.update_user_roles_response import UpdateUserRolesResponse
12
+ from ..types.user_roles_response import UserRolesResponse
13
+ from ..types.uuid_ import Uuid
14
+ from .raw_client import AsyncRawWorkspacePermissionsClient, RawWorkspacePermissionsClient
15
+
16
+ # this is used as the default value for optional parameters
17
+ OMIT = typing.cast(typing.Any, ...)
18
+
19
+
20
+ class WorkspacePermissionsClient:
21
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
22
+ self._raw_client = RawWorkspacePermissionsClient(client_wrapper=client_wrapper)
23
+
24
+ @property
25
+ def with_raw_response(self) -> RawWorkspacePermissionsClient:
26
+ """
27
+ Retrieves a raw implementation of this client that returns raw responses.
28
+
29
+ Returns
30
+ -------
31
+ RawWorkspacePermissionsClient
32
+ """
33
+ return self._raw_client
34
+
35
+ def index(
36
+ self,
37
+ account_id: Uuid,
38
+ workspace_id: Uuid,
39
+ *,
40
+ include_deactivated: typing.Optional[bool] = None,
41
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
42
+ page_size: typing.Optional[RequestPageSize] = None,
43
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
44
+ request_options: typing.Optional[RequestOptions] = None,
45
+ ) -> UserRolesResponse:
46
+ """
47
+ List user roles for a given workspace. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
48
+
49
+ Parameters
50
+ ----------
51
+ account_id : Uuid
52
+
53
+
54
+ workspace_id : Uuid
55
+
56
+
57
+ include_deactivated : typing.Optional[bool]
58
+ Supports including deactivated users in the response. Default is false.
59
+
60
+ after : typing.Optional[RequestAfterOpaqueCursor]
61
+ Opaque Cursor query param for requests returning paginated results.
62
+ <br/>
63
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
64
+
65
+ page_size : typing.Optional[RequestPageSize]
66
+
67
+
68
+ include_total_count : typing.Optional[IncludeTotalCount]
69
+
70
+
71
+ request_options : typing.Optional[RequestOptions]
72
+ Request-specific configuration.
73
+
74
+ Returns
75
+ -------
76
+ UserRolesResponse
77
+ OK
78
+
79
+ Examples
80
+ --------
81
+ from frameio import Frameio
82
+
83
+ client = Frameio(
84
+ token="YOUR_TOKEN",
85
+ )
86
+ client.workspace_permissions.index(
87
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
88
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
89
+ include_deactivated=True,
90
+ after="<opaque_cursor>",
91
+ page_size=10,
92
+ include_total_count=False,
93
+ )
94
+ """
95
+ _response = self._raw_client.index(
96
+ account_id,
97
+ workspace_id,
98
+ include_deactivated=include_deactivated,
99
+ after=after,
100
+ page_size=page_size,
101
+ include_total_count=include_total_count,
102
+ request_options=request_options,
103
+ )
104
+ return _response.data
105
+
106
+ def workspace_user_roles_delete(
107
+ self,
108
+ account_id: Uuid,
109
+ workspace_id: Uuid,
110
+ user_id: Uuid,
111
+ *,
112
+ request_options: typing.Optional[RequestOptions] = None,
113
+ ) -> None:
114
+ """
115
+ Remove a user from a given workspace. <br><br>Rate Limits: 60 calls per 1.00 minute(s) per account
116
+
117
+ Parameters
118
+ ----------
119
+ account_id : Uuid
120
+
121
+
122
+ workspace_id : Uuid
123
+
124
+
125
+ user_id : Uuid
126
+
127
+
128
+ request_options : typing.Optional[RequestOptions]
129
+ Request-specific configuration.
130
+
131
+ Returns
132
+ -------
133
+ None
134
+
135
+ Examples
136
+ --------
137
+ from frameio import Frameio
138
+
139
+ client = Frameio(
140
+ token="YOUR_TOKEN",
141
+ )
142
+ client.workspace_permissions.workspace_user_roles_delete(
143
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
144
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
145
+ user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
146
+ )
147
+ """
148
+ _response = self._raw_client.workspace_user_roles_delete(
149
+ account_id, workspace_id, user_id, request_options=request_options
150
+ )
151
+ return _response.data
152
+
153
+ def workspace_user_roles_update(
154
+ self,
155
+ account_id: Uuid,
156
+ workspace_id: Uuid,
157
+ user_id: Uuid,
158
+ *,
159
+ data: UpdateUserRolesParamsData,
160
+ request_options: typing.Optional[RequestOptions] = None,
161
+ ) -> UpdateUserRolesResponse:
162
+ """
163
+ Update user roles for the given workspace if the user is already added to the workspace. If the user is
164
+ not added to the workspace, the user will be added with the given role. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
165
+
166
+ Parameters
167
+ ----------
168
+ account_id : Uuid
169
+
170
+
171
+ workspace_id : Uuid
172
+
173
+
174
+ user_id : Uuid
175
+
176
+
177
+ data : UpdateUserRolesParamsData
178
+
179
+ request_options : typing.Optional[RequestOptions]
180
+ Request-specific configuration.
181
+
182
+ Returns
183
+ -------
184
+ UpdateUserRolesResponse
185
+ OK
186
+
187
+ Examples
188
+ --------
189
+ from frameio import Frameio, UpdateUserRolesParamsData
190
+
191
+ client = Frameio(
192
+ token="YOUR_TOKEN",
193
+ )
194
+ client.workspace_permissions.workspace_user_roles_update(
195
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
196
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
197
+ user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
198
+ data=UpdateUserRolesParamsData(
199
+ role="editor",
200
+ ),
201
+ )
202
+ """
203
+ _response = self._raw_client.workspace_user_roles_update(
204
+ account_id, workspace_id, user_id, data=data, request_options=request_options
205
+ )
206
+ return _response.data
207
+
208
+
209
+ class AsyncWorkspacePermissionsClient:
210
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
211
+ self._raw_client = AsyncRawWorkspacePermissionsClient(client_wrapper=client_wrapper)
212
+
213
+ @property
214
+ def with_raw_response(self) -> AsyncRawWorkspacePermissionsClient:
215
+ """
216
+ Retrieves a raw implementation of this client that returns raw responses.
217
+
218
+ Returns
219
+ -------
220
+ AsyncRawWorkspacePermissionsClient
221
+ """
222
+ return self._raw_client
223
+
224
+ async def index(
225
+ self,
226
+ account_id: Uuid,
227
+ workspace_id: Uuid,
228
+ *,
229
+ include_deactivated: typing.Optional[bool] = None,
230
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
231
+ page_size: typing.Optional[RequestPageSize] = None,
232
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
233
+ request_options: typing.Optional[RequestOptions] = None,
234
+ ) -> UserRolesResponse:
235
+ """
236
+ List user roles for a given workspace. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
237
+
238
+ Parameters
239
+ ----------
240
+ account_id : Uuid
241
+
242
+
243
+ workspace_id : Uuid
244
+
245
+
246
+ include_deactivated : typing.Optional[bool]
247
+ Supports including deactivated users in the response. Default is false.
248
+
249
+ after : typing.Optional[RequestAfterOpaqueCursor]
250
+ Opaque Cursor query param for requests returning paginated results.
251
+ <br/>
252
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
253
+
254
+ page_size : typing.Optional[RequestPageSize]
255
+
256
+
257
+ include_total_count : typing.Optional[IncludeTotalCount]
258
+
259
+
260
+ request_options : typing.Optional[RequestOptions]
261
+ Request-specific configuration.
262
+
263
+ Returns
264
+ -------
265
+ UserRolesResponse
266
+ OK
267
+
268
+ Examples
269
+ --------
270
+ import asyncio
271
+
272
+ from frameio import AsyncFrameio
273
+
274
+ client = AsyncFrameio(
275
+ token="YOUR_TOKEN",
276
+ )
277
+
278
+
279
+ async def main() -> None:
280
+ await client.workspace_permissions.index(
281
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
282
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
283
+ include_deactivated=True,
284
+ after="<opaque_cursor>",
285
+ page_size=10,
286
+ include_total_count=False,
287
+ )
288
+
289
+
290
+ asyncio.run(main())
291
+ """
292
+ _response = await self._raw_client.index(
293
+ account_id,
294
+ workspace_id,
295
+ include_deactivated=include_deactivated,
296
+ after=after,
297
+ page_size=page_size,
298
+ include_total_count=include_total_count,
299
+ request_options=request_options,
300
+ )
301
+ return _response.data
302
+
303
+ async def workspace_user_roles_delete(
304
+ self,
305
+ account_id: Uuid,
306
+ workspace_id: Uuid,
307
+ user_id: Uuid,
308
+ *,
309
+ request_options: typing.Optional[RequestOptions] = None,
310
+ ) -> None:
311
+ """
312
+ Remove a user from a given workspace. <br><br>Rate Limits: 60 calls per 1.00 minute(s) per account
313
+
314
+ Parameters
315
+ ----------
316
+ account_id : Uuid
317
+
318
+
319
+ workspace_id : Uuid
320
+
321
+
322
+ user_id : Uuid
323
+
324
+
325
+ request_options : typing.Optional[RequestOptions]
326
+ Request-specific configuration.
327
+
328
+ Returns
329
+ -------
330
+ None
331
+
332
+ Examples
333
+ --------
334
+ import asyncio
335
+
336
+ from frameio import AsyncFrameio
337
+
338
+ client = AsyncFrameio(
339
+ token="YOUR_TOKEN",
340
+ )
341
+
342
+
343
+ async def main() -> None:
344
+ await client.workspace_permissions.workspace_user_roles_delete(
345
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
346
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
347
+ user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
348
+ )
349
+
350
+
351
+ asyncio.run(main())
352
+ """
353
+ _response = await self._raw_client.workspace_user_roles_delete(
354
+ account_id, workspace_id, user_id, request_options=request_options
355
+ )
356
+ return _response.data
357
+
358
+ async def workspace_user_roles_update(
359
+ self,
360
+ account_id: Uuid,
361
+ workspace_id: Uuid,
362
+ user_id: Uuid,
363
+ *,
364
+ data: UpdateUserRolesParamsData,
365
+ request_options: typing.Optional[RequestOptions] = None,
366
+ ) -> UpdateUserRolesResponse:
367
+ """
368
+ Update user roles for the given workspace if the user is already added to the workspace. If the user is
369
+ not added to the workspace, the user will be added with the given role. <br><br>Rate Limits: 10 calls per 1.00 minute(s) per account
370
+
371
+ Parameters
372
+ ----------
373
+ account_id : Uuid
374
+
375
+
376
+ workspace_id : Uuid
377
+
378
+
379
+ user_id : Uuid
380
+
381
+
382
+ data : UpdateUserRolesParamsData
383
+
384
+ request_options : typing.Optional[RequestOptions]
385
+ Request-specific configuration.
386
+
387
+ Returns
388
+ -------
389
+ UpdateUserRolesResponse
390
+ OK
391
+
392
+ Examples
393
+ --------
394
+ import asyncio
395
+
396
+ from frameio import AsyncFrameio, UpdateUserRolesParamsData
397
+
398
+ client = AsyncFrameio(
399
+ token="YOUR_TOKEN",
400
+ )
401
+
402
+
403
+ async def main() -> None:
404
+ await client.workspace_permissions.workspace_user_roles_update(
405
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
406
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
407
+ user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
408
+ data=UpdateUserRolesParamsData(
409
+ role="editor",
410
+ ),
411
+ )
412
+
413
+
414
+ asyncio.run(main())
415
+ """
416
+ _response = await self._raw_client.workspace_user_roles_update(
417
+ account_id, workspace_id, user_id, data=data, request_options=request_options
418
+ )
419
+ return _response.data