daknode 0.3.6__tar.gz → 0.3.7__tar.gz

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 (195) hide show
  1. {daknode-0.3.6 → daknode-0.3.7}/PKG-INFO +1 -1
  2. daknode-0.3.7/daknode/api/security/get_risk_feedback.py +190 -0
  3. daknode-0.3.7/daknode/api/security/list_audit_events.py +229 -0
  4. daknode-0.3.7/daknode/api/security/record_risk_feedback.py +197 -0
  5. daknode-0.3.7/daknode/api/webhook_subscriptions/__init__.py +1 -0
  6. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/__init__.py +16 -0
  7. daknode-0.3.7/daknode/models/audit_out.py +214 -0
  8. daknode-0.3.7/daknode/models/audit_page.py +128 -0
  9. daknode-0.3.7/daknode/models/feedback_change.py +59 -0
  10. daknode-0.3.7/daknode/models/feedback_change_assessment.py +9 -0
  11. daknode-0.3.7/daknode/models/feedback_out.py +108 -0
  12. daknode-0.3.7/daknode/models/feedback_out_assessment.py +9 -0
  13. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/message_out.py +89 -0
  14. daknode-0.3.7/daknode/models/message_out_spam_verdict_type_0.py +10 -0
  15. daknode-0.3.7/daknode/models/message_out_virus_verdict_type_0.py +10 -0
  16. {daknode-0.3.6 → daknode-0.3.7}/pyproject.toml +1 -1
  17. {daknode-0.3.6 → daknode-0.3.7}/README.md +0 -0
  18. {daknode-0.3.6 → daknode-0.3.7}/daknode/__init__.py +0 -0
  19. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/__init__.py +0 -0
  20. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/__init__.py +0 -0
  21. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/create_block_rule.py +0 -0
  22. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/create_inbox_block_rule.py +0 -0
  23. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/delete_block_rule.py +0 -0
  24. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/list_block_rules.py +0 -0
  25. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/block_rules/list_inbox_block_rules.py +0 -0
  26. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/consent/__init__.py +0 -0
  27. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/consent/create_consent.py +0 -0
  28. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/consent/revoke.py +0 -0
  29. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/__init__.py +0 -0
  30. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/close_workspace.py +0 -0
  31. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/create_workspace.py +0 -0
  32. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/list_workspaces.py +0 -0
  33. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/read_workspace.py +0 -0
  34. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/control_plane/update_workspace.py +0 -0
  35. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/dead_letters/__init__.py +0 -0
  36. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/dead_letters/list_dead_letters.py +0 -0
  37. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/dead_letters/replay_dead_letter.py +0 -0
  38. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/__init__.py +0 -0
  39. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/disable_domain.py +0 -0
  40. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/get_domain.py +0 -0
  41. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/list_domains.py +0 -0
  42. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/register_domain.py +0 -0
  43. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/domains/verify_domain.py +0 -0
  44. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/__init__.py +0 -0
  45. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/cancel_draft.py +0 -0
  46. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/create_draft.py +0 -0
  47. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/delete_draft.py +0 -0
  48. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/get_draft.py +0 -0
  49. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/list_drafts.py +0 -0
  50. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/schedule_draft.py +0 -0
  51. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/send_draft.py +0 -0
  52. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/drafts/update_draft.py +0 -0
  53. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/events/__init__.py +0 -0
  54. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/events/poll_inbox_events.py +0 -0
  55. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/__init__.py +0 -0
  56. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/create_inbox.py +0 -0
  57. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/delete_inbox.py +0 -0
  58. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/get_inbox.py +0 -0
  59. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/list_inboxes.py +0 -0
  60. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/register_webhook.py +0 -0
  61. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/rotate_webhook_secret.py +0 -0
  62. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/inboxes/update_inbox.py +0 -0
  63. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/__init__.py +0 -0
  64. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/create_inbox_mail_policy_rule.py +0 -0
  65. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/create_mail_policy_rule.py +0 -0
  66. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/delete_mail_policy_rule.py +0 -0
  67. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/get_inbox_mail_policy.py +0 -0
  68. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/get_mail_policy.py +0 -0
  69. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/list_inbox_mail_policy_rules.py +0 -0
  70. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/list_mail_policy_rules.py +0 -0
  71. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/update_inbox_mail_policy.py +0 -0
  72. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/mail_policy/update_mail_policy.py +0 -0
  73. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/__init__.py +0 -0
  74. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/download_raw_message.py +0 -0
  75. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/download_received_attachment.py +0 -0
  76. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/get_message.py +0 -0
  77. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/get_thread.py +0 -0
  78. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/list_messages.py +0 -0
  79. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/list_received_attachments.py +0 -0
  80. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/list_threads.py +0 -0
  81. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/messages/update_message_state.py +0 -0
  82. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/metrics/__init__.py +0 -0
  83. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/metrics/inbox_metrics.py +0 -0
  84. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/metrics/workspace_metrics.py +0 -0
  85. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/privacy/__init__.py +0 -0
  86. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/privacy/create_erasure_request.py +0 -0
  87. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/privacy/read_erasure_request.py +0 -0
  88. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/public/__init__.py +0 -0
  89. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/public/agent_signup.py +0 -0
  90. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/public/agent_verify.py +0 -0
  91. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/search/__init__.py +0 -0
  92. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/search/search.py +0 -0
  93. {daknode-0.3.6/daknode/api/send → daknode-0.3.7/daknode/api/security}/__init__.py +0 -0
  94. {daknode-0.3.6/daknode/api/webhook_subscriptions → daknode-0.3.7/daknode/api/send}/__init__.py +0 -0
  95. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/send/forward_message.py +0 -0
  96. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/send/send.py +0 -0
  97. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/create_webhook_subscription.py +0 -0
  98. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/delete_webhook_subscription.py +0 -0
  99. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/get_webhook_subscription.py +0 -0
  100. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/list_webhook_subscriptions.py +0 -0
  101. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/rotate_webhook_subscription.py +0 -0
  102. {daknode-0.3.6 → daknode-0.3.7}/daknode/api/webhook_subscriptions/update_webhook_subscription.py +0 -0
  103. {daknode-0.3.6 → daknode-0.3.7}/daknode/client.py +0 -0
  104. {daknode-0.3.6 → daknode-0.3.7}/daknode/errors.py +0 -0
  105. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/attachment_out.py +0 -0
  106. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/block_rule_create.py +0 -0
  107. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/block_rule_out.py +0 -0
  108. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/block_rule_page.py +0 -0
  109. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/check_domain_request.py +0 -0
  110. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/consent_request.py +0 -0
  111. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/consent_response.py +0 -0
  112. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/create_erasure_request_response_create_erasure_request.py +0 -0
  113. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/create_in.py +0 -0
  114. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/daily_usage.py +0 -0
  115. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/dead_letter_response.py +0 -0
  116. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/delivery_cohort.py +0 -0
  117. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/delivery_cohort_current_status.py +0 -0
  118. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/delivery_cohort_provider_outcomes.py +0 -0
  119. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/dns_record.py +0 -0
  120. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/domain_out.py +0 -0
  121. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/domain_page.py +0 -0
  122. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_create.py +0 -0
  123. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_edit.py +0 -0
  124. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_file_out.py +0 -0
  125. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_message_out.py +0 -0
  126. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_out.py +0 -0
  127. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_out_state.py +0 -0
  128. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_page.py +0 -0
  129. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/draft_schedule.py +0 -0
  130. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/erasure_request_body.py +0 -0
  131. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/forward_message_response_forward_message.py +0 -0
  132. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/forward_request.py +0 -0
  133. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/http_validation_error.py +0 -0
  134. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_create_request.py +0 -0
  135. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_deleted.py +0 -0
  136. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_event.py +0 -0
  137. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_event_page.py +0 -0
  138. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_out.py +0 -0
  139. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_page.py +0 -0
  140. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_response.py +0 -0
  141. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/inbox_update_request.py +0 -0
  142. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/list_drafts_state_type_0.py +0 -0
  143. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/message_page.py +0 -0
  144. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/message_state.py +0 -0
  145. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/metrics_out.py +6 -6
  146. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/metrics_window.py +0 -0
  147. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/outgoing_attachment.py +0 -0
  148. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/policy_change.py +0 -0
  149. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/policy_out.py +0 -0
  150. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/poll_inbox_events_start.py +0 -0
  151. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/read_erasure_request_response_read_erasure_request.py +0 -0
  152. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/register_domain_request.py +0 -0
  153. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/replay_response.py +0 -0
  154. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/revision.py +0 -0
  155. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/revoke_request.py +0 -0
  156. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/revoke_response_revoke.py +0 -0
  157. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_create.py +0 -0
  158. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_create_direction.py +0 -0
  159. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_create_effect.py +0 -0
  160. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_out.py +0 -0
  161. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_out_direction.py +0 -0
  162. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_out_effect.py +0 -0
  163. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/rule_out_kind.py +0 -0
  164. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/search_match.py +0 -0
  165. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/search_request.py +0 -0
  166. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/search_response.py +0 -0
  167. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/send_draft_response_send_draft.py +0 -0
  168. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/send_request.py +0 -0
  169. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/send_response_send.py +0 -0
  170. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/signup_in.py +0 -0
  171. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/signup_out.py +0 -0
  172. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/state_change.py +0 -0
  173. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_change.py +0 -0
  174. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_change_event_types_type_0_item.py +0 -0
  175. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_change_headers_type_0.py +0 -0
  176. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_create.py +0 -0
  177. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_create_event_types_item.py +0 -0
  178. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_create_headers.py +0 -0
  179. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_out.py +0 -0
  180. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/subscription_out_event_types_item.py +0 -0
  181. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/thread_detail_out.py +0 -0
  182. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/thread_out.py +0 -0
  183. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/thread_page.py +0 -0
  184. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/timeline_item_out.py +0 -0
  185. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/update_in.py +0 -0
  186. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/usage_counts.py +0 -0
  187. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/validation_error.py +0 -0
  188. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/validation_error_context.py +0 -0
  189. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/verify_in.py +0 -0
  190. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/verify_out.py +0 -0
  191. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/webhook_register_request.py +0 -0
  192. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/workspace_list_out.py +0 -0
  193. {daknode-0.3.6 → daknode-0.3.7}/daknode/models/workspace_out.py +0 -0
  194. {daknode-0.3.6 → daknode-0.3.7}/daknode/py.typed +0 -0
  195. {daknode-0.3.6 → daknode-0.3.7}/daknode/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daknode
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: A client library for accessing DakNode
5
5
  Requires-Python: >=3.9,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -0,0 +1,190 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient, Client
7
+ from ...types import Response, UNSET
8
+ from ... import errors
9
+
10
+ from ...models.feedback_out import FeedbackOut
11
+ from ...models.http_validation_error import HTTPValidationError
12
+ from typing import cast
13
+ from typing import cast, Union
14
+ from uuid import UUID
15
+
16
+
17
+
18
+ def _get_kwargs(
19
+ message_id: UUID,
20
+
21
+ ) -> dict[str, Any]:
22
+
23
+
24
+
25
+
26
+
27
+
28
+ _kwargs: dict[str, Any] = {
29
+ "method": "get",
30
+ "url": "/v1/messages/{message_id}/risk-feedback".format(message_id=message_id,),
31
+ }
32
+
33
+
34
+ return _kwargs
35
+
36
+
37
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
38
+ if response.status_code == 200:
39
+ def _parse_response_200(data: object) -> Union['FeedbackOut', None]:
40
+ if data is None:
41
+ return data
42
+ try:
43
+ if not isinstance(data, dict):
44
+ raise TypeError()
45
+ response_200_type_0 = FeedbackOut.from_dict(data)
46
+
47
+
48
+
49
+ return response_200_type_0
50
+ except: # noqa: E722
51
+ pass
52
+ return cast(Union['FeedbackOut', None], data)
53
+
54
+ response_200 = _parse_response_200(response.json())
55
+
56
+ return response_200
57
+ if response.status_code == 422:
58
+ response_422 = HTTPValidationError.from_dict(response.json())
59
+
60
+
61
+
62
+ return response_422
63
+ if client.raise_on_unexpected_status:
64
+ raise errors.UnexpectedStatus(response.status_code, response.content)
65
+ else:
66
+ return None
67
+
68
+
69
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
70
+ return Response(
71
+ status_code=HTTPStatus(response.status_code),
72
+ content=response.content,
73
+ headers=response.headers,
74
+ parsed=_parse_response(client=client, response=response),
75
+ )
76
+
77
+
78
+ def sync_detailed(
79
+ message_id: UUID,
80
+ *,
81
+ client: AuthenticatedClient,
82
+
83
+ ) -> Response[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
84
+ """ Get Risk Feedback
85
+
86
+ Args:
87
+ message_id (UUID):
88
+
89
+ Raises:
90
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
91
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
92
+
93
+ Returns:
94
+ Response[Union[HTTPValidationError, Union['FeedbackOut', None]]]
95
+ """
96
+
97
+
98
+ kwargs = _get_kwargs(
99
+ message_id=message_id,
100
+
101
+ )
102
+
103
+ response = client.get_httpx_client().request(
104
+ **kwargs,
105
+ )
106
+
107
+ return _build_response(client=client, response=response)
108
+
109
+ def sync(
110
+ message_id: UUID,
111
+ *,
112
+ client: AuthenticatedClient,
113
+
114
+ ) -> Optional[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
115
+ """ Get Risk Feedback
116
+
117
+ Args:
118
+ message_id (UUID):
119
+
120
+ Raises:
121
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
122
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
123
+
124
+ Returns:
125
+ Union[HTTPValidationError, Union['FeedbackOut', None]]
126
+ """
127
+
128
+
129
+ return sync_detailed(
130
+ message_id=message_id,
131
+ client=client,
132
+
133
+ ).parsed
134
+
135
+ async def asyncio_detailed(
136
+ message_id: UUID,
137
+ *,
138
+ client: AuthenticatedClient,
139
+
140
+ ) -> Response[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
141
+ """ Get Risk Feedback
142
+
143
+ Args:
144
+ message_id (UUID):
145
+
146
+ Raises:
147
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
148
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
149
+
150
+ Returns:
151
+ Response[Union[HTTPValidationError, Union['FeedbackOut', None]]]
152
+ """
153
+
154
+
155
+ kwargs = _get_kwargs(
156
+ message_id=message_id,
157
+
158
+ )
159
+
160
+ response = await client.get_async_httpx_client().request(
161
+ **kwargs
162
+ )
163
+
164
+ return _build_response(client=client, response=response)
165
+
166
+ async def asyncio(
167
+ message_id: UUID,
168
+ *,
169
+ client: AuthenticatedClient,
170
+
171
+ ) -> Optional[Union[HTTPValidationError, Union['FeedbackOut', None]]]:
172
+ """ Get Risk Feedback
173
+
174
+ Args:
175
+ message_id (UUID):
176
+
177
+ Raises:
178
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
179
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
180
+
181
+ Returns:
182
+ Union[HTTPValidationError, Union['FeedbackOut', None]]
183
+ """
184
+
185
+
186
+ return (await asyncio_detailed(
187
+ message_id=message_id,
188
+ client=client,
189
+
190
+ )).parsed
@@ -0,0 +1,229 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient, Client
7
+ from ...types import Response, UNSET
8
+ from ... import errors
9
+
10
+ from ...models.audit_page import AuditPage
11
+ from ...models.http_validation_error import HTTPValidationError
12
+ from ...types import UNSET, Unset
13
+ from typing import cast
14
+ from typing import cast, Union
15
+ from typing import Union
16
+ from uuid import UUID
17
+
18
+
19
+
20
+ def _get_kwargs(
21
+ *,
22
+ inbox_id: Union[None, UUID, Unset] = UNSET,
23
+ limit: Union[Unset, int] = 25,
24
+ cursor: Union[None, Unset, str] = UNSET,
25
+
26
+ ) -> dict[str, Any]:
27
+
28
+
29
+
30
+
31
+ params: dict[str, Any] = {}
32
+
33
+ json_inbox_id: Union[None, Unset, str]
34
+ if isinstance(inbox_id, Unset):
35
+ json_inbox_id = UNSET
36
+ elif isinstance(inbox_id, UUID):
37
+ json_inbox_id = str(inbox_id)
38
+ else:
39
+ json_inbox_id = inbox_id
40
+ params["inbox_id"] = json_inbox_id
41
+
42
+ params["limit"] = limit
43
+
44
+ json_cursor: Union[None, Unset, str]
45
+ if isinstance(cursor, Unset):
46
+ json_cursor = UNSET
47
+ else:
48
+ json_cursor = cursor
49
+ params["cursor"] = json_cursor
50
+
51
+
52
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
53
+
54
+
55
+ _kwargs: dict[str, Any] = {
56
+ "method": "get",
57
+ "url": "/v1/audit-events",
58
+ "params": params,
59
+ }
60
+
61
+
62
+ return _kwargs
63
+
64
+
65
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Union[AuditPage, HTTPValidationError]]:
66
+ if response.status_code == 200:
67
+ response_200 = AuditPage.from_dict(response.json())
68
+
69
+
70
+
71
+ return response_200
72
+ if response.status_code == 422:
73
+ response_422 = HTTPValidationError.from_dict(response.json())
74
+
75
+
76
+
77
+ return response_422
78
+ if client.raise_on_unexpected_status:
79
+ raise errors.UnexpectedStatus(response.status_code, response.content)
80
+ else:
81
+ return None
82
+
83
+
84
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Union[AuditPage, HTTPValidationError]]:
85
+ return Response(
86
+ status_code=HTTPStatus(response.status_code),
87
+ content=response.content,
88
+ headers=response.headers,
89
+ parsed=_parse_response(client=client, response=response),
90
+ )
91
+
92
+
93
+ def sync_detailed(
94
+ *,
95
+ client: AuthenticatedClient,
96
+ inbox_id: Union[None, UUID, Unset] = UNSET,
97
+ limit: Union[Unset, int] = 25,
98
+ cursor: Union[None, Unset, str] = UNSET,
99
+
100
+ ) -> Response[Union[AuditPage, HTTPValidationError]]:
101
+ """ List Audit Events
102
+
103
+ Args:
104
+ inbox_id (Union[None, UUID, Unset]):
105
+ limit (Union[Unset, int]): Default: 25.
106
+ cursor (Union[None, Unset, str]):
107
+
108
+ Raises:
109
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
110
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
111
+
112
+ Returns:
113
+ Response[Union[AuditPage, HTTPValidationError]]
114
+ """
115
+
116
+
117
+ kwargs = _get_kwargs(
118
+ inbox_id=inbox_id,
119
+ limit=limit,
120
+ cursor=cursor,
121
+
122
+ )
123
+
124
+ response = client.get_httpx_client().request(
125
+ **kwargs,
126
+ )
127
+
128
+ return _build_response(client=client, response=response)
129
+
130
+ def sync(
131
+ *,
132
+ client: AuthenticatedClient,
133
+ inbox_id: Union[None, UUID, Unset] = UNSET,
134
+ limit: Union[Unset, int] = 25,
135
+ cursor: Union[None, Unset, str] = UNSET,
136
+
137
+ ) -> Optional[Union[AuditPage, HTTPValidationError]]:
138
+ """ List Audit Events
139
+
140
+ Args:
141
+ inbox_id (Union[None, UUID, Unset]):
142
+ limit (Union[Unset, int]): Default: 25.
143
+ cursor (Union[None, Unset, str]):
144
+
145
+ Raises:
146
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
147
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
148
+
149
+ Returns:
150
+ Union[AuditPage, HTTPValidationError]
151
+ """
152
+
153
+
154
+ return sync_detailed(
155
+ client=client,
156
+ inbox_id=inbox_id,
157
+ limit=limit,
158
+ cursor=cursor,
159
+
160
+ ).parsed
161
+
162
+ async def asyncio_detailed(
163
+ *,
164
+ client: AuthenticatedClient,
165
+ inbox_id: Union[None, UUID, Unset] = UNSET,
166
+ limit: Union[Unset, int] = 25,
167
+ cursor: Union[None, Unset, str] = UNSET,
168
+
169
+ ) -> Response[Union[AuditPage, HTTPValidationError]]:
170
+ """ List Audit Events
171
+
172
+ Args:
173
+ inbox_id (Union[None, UUID, Unset]):
174
+ limit (Union[Unset, int]): Default: 25.
175
+ cursor (Union[None, Unset, str]):
176
+
177
+ Raises:
178
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
179
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
180
+
181
+ Returns:
182
+ Response[Union[AuditPage, HTTPValidationError]]
183
+ """
184
+
185
+
186
+ kwargs = _get_kwargs(
187
+ inbox_id=inbox_id,
188
+ limit=limit,
189
+ cursor=cursor,
190
+
191
+ )
192
+
193
+ response = await client.get_async_httpx_client().request(
194
+ **kwargs
195
+ )
196
+
197
+ return _build_response(client=client, response=response)
198
+
199
+ async def asyncio(
200
+ *,
201
+ client: AuthenticatedClient,
202
+ inbox_id: Union[None, UUID, Unset] = UNSET,
203
+ limit: Union[Unset, int] = 25,
204
+ cursor: Union[None, Unset, str] = UNSET,
205
+
206
+ ) -> Optional[Union[AuditPage, HTTPValidationError]]:
207
+ """ List Audit Events
208
+
209
+ Args:
210
+ inbox_id (Union[None, UUID, Unset]):
211
+ limit (Union[Unset, int]): Default: 25.
212
+ cursor (Union[None, Unset, str]):
213
+
214
+ Raises:
215
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
216
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
217
+
218
+ Returns:
219
+ Union[AuditPage, HTTPValidationError]
220
+ """
221
+
222
+
223
+ return (await asyncio_detailed(
224
+ client=client,
225
+ inbox_id=inbox_id,
226
+ limit=limit,
227
+ cursor=cursor,
228
+
229
+ )).parsed
@@ -0,0 +1,197 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient, Client
7
+ from ...types import Response, UNSET
8
+ from ... import errors
9
+
10
+ from ...models.feedback_change import FeedbackChange
11
+ from ...models.feedback_out import FeedbackOut
12
+ from ...models.http_validation_error import HTTPValidationError
13
+ from typing import cast
14
+ from uuid import UUID
15
+
16
+
17
+
18
+ def _get_kwargs(
19
+ message_id: UUID,
20
+ *,
21
+ body: FeedbackChange,
22
+
23
+ ) -> dict[str, Any]:
24
+ headers: dict[str, Any] = {}
25
+
26
+
27
+
28
+
29
+
30
+
31
+ _kwargs: dict[str, Any] = {
32
+ "method": "post",
33
+ "url": "/v1/messages/{message_id}/risk-feedback".format(message_id=message_id,),
34
+ }
35
+
36
+ _kwargs["json"] = body.to_dict()
37
+
38
+
39
+ headers["Content-Type"] = "application/json"
40
+
41
+ _kwargs["headers"] = headers
42
+ return _kwargs
43
+
44
+
45
+ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Union[FeedbackOut, HTTPValidationError]]:
46
+ if response.status_code == 200:
47
+ response_200 = FeedbackOut.from_dict(response.json())
48
+
49
+
50
+
51
+ return response_200
52
+ if response.status_code == 422:
53
+ response_422 = HTTPValidationError.from_dict(response.json())
54
+
55
+
56
+
57
+ return response_422
58
+ if client.raise_on_unexpected_status:
59
+ raise errors.UnexpectedStatus(response.status_code, response.content)
60
+ else:
61
+ return None
62
+
63
+
64
+ def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Union[FeedbackOut, HTTPValidationError]]:
65
+ return Response(
66
+ status_code=HTTPStatus(response.status_code),
67
+ content=response.content,
68
+ headers=response.headers,
69
+ parsed=_parse_response(client=client, response=response),
70
+ )
71
+
72
+
73
+ def sync_detailed(
74
+ message_id: UUID,
75
+ *,
76
+ client: AuthenticatedClient,
77
+ body: FeedbackChange,
78
+
79
+ ) -> Response[Union[FeedbackOut, HTTPValidationError]]:
80
+ """ Record Risk Feedback
81
+
82
+ Args:
83
+ message_id (UUID):
84
+ body (FeedbackChange):
85
+
86
+ Raises:
87
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
88
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
89
+
90
+ Returns:
91
+ Response[Union[FeedbackOut, HTTPValidationError]]
92
+ """
93
+
94
+
95
+ kwargs = _get_kwargs(
96
+ message_id=message_id,
97
+ body=body,
98
+
99
+ )
100
+
101
+ response = client.get_httpx_client().request(
102
+ **kwargs,
103
+ )
104
+
105
+ return _build_response(client=client, response=response)
106
+
107
+ def sync(
108
+ message_id: UUID,
109
+ *,
110
+ client: AuthenticatedClient,
111
+ body: FeedbackChange,
112
+
113
+ ) -> Optional[Union[FeedbackOut, HTTPValidationError]]:
114
+ """ Record Risk Feedback
115
+
116
+ Args:
117
+ message_id (UUID):
118
+ body (FeedbackChange):
119
+
120
+ Raises:
121
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
122
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
123
+
124
+ Returns:
125
+ Union[FeedbackOut, HTTPValidationError]
126
+ """
127
+
128
+
129
+ return sync_detailed(
130
+ message_id=message_id,
131
+ client=client,
132
+ body=body,
133
+
134
+ ).parsed
135
+
136
+ async def asyncio_detailed(
137
+ message_id: UUID,
138
+ *,
139
+ client: AuthenticatedClient,
140
+ body: FeedbackChange,
141
+
142
+ ) -> Response[Union[FeedbackOut, HTTPValidationError]]:
143
+ """ Record Risk Feedback
144
+
145
+ Args:
146
+ message_id (UUID):
147
+ body (FeedbackChange):
148
+
149
+ Raises:
150
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
151
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
152
+
153
+ Returns:
154
+ Response[Union[FeedbackOut, HTTPValidationError]]
155
+ """
156
+
157
+
158
+ kwargs = _get_kwargs(
159
+ message_id=message_id,
160
+ body=body,
161
+
162
+ )
163
+
164
+ response = await client.get_async_httpx_client().request(
165
+ **kwargs
166
+ )
167
+
168
+ return _build_response(client=client, response=response)
169
+
170
+ async def asyncio(
171
+ message_id: UUID,
172
+ *,
173
+ client: AuthenticatedClient,
174
+ body: FeedbackChange,
175
+
176
+ ) -> Optional[Union[FeedbackOut, HTTPValidationError]]:
177
+ """ Record Risk Feedback
178
+
179
+ Args:
180
+ message_id (UUID):
181
+ body (FeedbackChange):
182
+
183
+ Raises:
184
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
185
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
186
+
187
+ Returns:
188
+ Union[FeedbackOut, HTTPValidationError]
189
+ """
190
+
191
+
192
+ return (await asyncio_detailed(
193
+ message_id=message_id,
194
+ client=client,
195
+ body=body,
196
+
197
+ )).parsed
@@ -0,0 +1 @@
1
+ """ Contains endpoint functions for accessing the API """
@@ -1,6 +1,8 @@
1
1
  """ Contains all the data models used in inputs/outputs """
2
2
 
3
3
  from .attachment_out import AttachmentOut
4
+ from .audit_out import AuditOut
5
+ from .audit_page import AuditPage
4
6
  from .block_rule_create import BlockRuleCreate
5
7
  from .block_rule_out import BlockRuleOut
6
8
  from .block_rule_page import BlockRulePage
@@ -26,6 +28,10 @@ from .draft_out_state import DraftOutState
26
28
  from .draft_page import DraftPage
27
29
  from .draft_schedule import DraftSchedule
28
30
  from .erasure_request_body import ErasureRequestBody
31
+ from .feedback_change import FeedbackChange
32
+ from .feedback_change_assessment import FeedbackChangeAssessment
33
+ from .feedback_out import FeedbackOut
34
+ from .feedback_out_assessment import FeedbackOutAssessment
29
35
  from .forward_message_response_forward_message import ForwardMessageResponseForwardMessage
30
36
  from .forward_request import ForwardRequest
31
37
  from .http_validation_error import HTTPValidationError
@@ -39,6 +45,8 @@ from .inbox_response import InboxResponse
39
45
  from .inbox_update_request import InboxUpdateRequest
40
46
  from .list_drafts_state_type_0 import ListDraftsStateType0
41
47
  from .message_out import MessageOut
48
+ from .message_out_spam_verdict_type_0 import MessageOutSpamVerdictType0
49
+ from .message_out_virus_verdict_type_0 import MessageOutVirusVerdictType0
42
50
  from .message_page import MessagePage
43
51
  from .message_state import MessageState
44
52
  from .metrics_out import MetricsOut
@@ -93,6 +101,8 @@ from .workspace_out import WorkspaceOut
93
101
 
94
102
  __all__ = (
95
103
  "AttachmentOut",
104
+ "AuditOut",
105
+ "AuditPage",
96
106
  "BlockRuleCreate",
97
107
  "BlockRuleOut",
98
108
  "BlockRulePage",
@@ -118,6 +128,10 @@ __all__ = (
118
128
  "DraftPage",
119
129
  "DraftSchedule",
120
130
  "ErasureRequestBody",
131
+ "FeedbackChange",
132
+ "FeedbackChangeAssessment",
133
+ "FeedbackOut",
134
+ "FeedbackOutAssessment",
121
135
  "ForwardMessageResponseForwardMessage",
122
136
  "ForwardRequest",
123
137
  "HTTPValidationError",
@@ -131,6 +145,8 @@ __all__ = (
131
145
  "InboxUpdateRequest",
132
146
  "ListDraftsStateType0",
133
147
  "MessageOut",
148
+ "MessageOutSpamVerdictType0",
149
+ "MessageOutVirusVerdictType0",
134
150
  "MessagePage",
135
151
  "MessageState",
136
152
  "MetricsOut",