daknode 0.3.4__tar.gz → 0.3.5__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.
- {daknode-0.3.4 → daknode-0.3.5}/PKG-INFO +1 -1
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/list_messages.py +40 -0
- daknode-0.3.5/daknode/api/messages/update_message_state.py +197 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/__init__.py +4 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/message_out.py +47 -0
- daknode-0.3.5/daknode/models/message_state.py +121 -0
- daknode-0.3.5/daknode/models/state_change.py +100 -0
- {daknode-0.3.4 → daknode-0.3.5}/pyproject.toml +1 -1
- {daknode-0.3.4 → daknode-0.3.5}/README.md +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/create_block_rule.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/create_inbox_block_rule.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/delete_block_rule.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/list_block_rules.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/block_rules/list_inbox_block_rules.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/consent/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/consent/create_consent.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/consent/revoke.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/close_workspace.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/create_workspace.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/list_workspaces.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/read_workspace.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/control_plane/update_workspace.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/dead_letters/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/dead_letters/list_dead_letters.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/dead_letters/replay_dead_letter.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/disable_domain.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/get_domain.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/list_domains.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/register_domain.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/domains/verify_domain.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/events/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/events/poll_inbox_events.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/create_inbox.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/delete_inbox.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/get_inbox.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/list_inboxes.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/register_webhook.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/rotate_webhook_secret.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/inboxes/update_inbox.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/download_raw_message.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/download_received_attachment.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/get_message.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/get_thread.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/list_received_attachments.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/messages/list_threads.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/metrics/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/metrics/inbox_metrics.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/metrics/workspace_metrics.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/privacy/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/privacy/create_erasure_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/privacy/read_erasure_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/public/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/public/agent_signup.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/public/agent_verify.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/search/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/search/search.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/send/__init__.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/send/forward_message.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/api/send/send.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/client.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/errors.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/attachment_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/block_rule_create.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/block_rule_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/block_rule_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/check_domain_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/consent_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/consent_response.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/create_erasure_request_response_create_erasure_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/create_in.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/daily_usage.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/dead_letter_response.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/delivery_cohort.py +3 -3
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/delivery_cohort_current_status.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/delivery_cohort_provider_outcomes.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/dns_record.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/domain_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/domain_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/erasure_request_body.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/forward_message_response_forward_message.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/forward_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/http_validation_error.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_create_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_deleted.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_event.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_event_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_response.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/inbox_update_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/message_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/metrics_out.py +3 -3
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/metrics_window.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/outgoing_attachment.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/poll_inbox_events_start.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/read_erasure_request_response_read_erasure_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/register_domain_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/replay_response.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/revoke_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/revoke_response_revoke.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/search_match.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/search_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/search_response.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/send_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/send_response_send.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/signup_in.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/signup_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/thread_detail_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/thread_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/thread_page.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/timeline_item_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/update_in.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/usage_counts.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/validation_error.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/validation_error_context.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/verify_in.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/verify_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/webhook_register_request.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/workspace_list_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/models/workspace_out.py +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/py.typed +0 -0
- {daknode-0.3.4 → daknode-0.3.5}/daknode/types.py +0 -0
|
@@ -22,6 +22,8 @@ def _get_kwargs(
|
|
|
22
22
|
*,
|
|
23
23
|
limit: Union[Unset, int] = 25,
|
|
24
24
|
cursor: Union[None, Unset, str] = UNSET,
|
|
25
|
+
label: Union[None, Unset, str] = UNSET,
|
|
26
|
+
is_read: Union[None, Unset, bool] = UNSET,
|
|
25
27
|
|
|
26
28
|
) -> dict[str, Any]:
|
|
27
29
|
|
|
@@ -39,6 +41,20 @@ def _get_kwargs(
|
|
|
39
41
|
json_cursor = cursor
|
|
40
42
|
params["cursor"] = json_cursor
|
|
41
43
|
|
|
44
|
+
json_label: Union[None, Unset, str]
|
|
45
|
+
if isinstance(label, Unset):
|
|
46
|
+
json_label = UNSET
|
|
47
|
+
else:
|
|
48
|
+
json_label = label
|
|
49
|
+
params["label"] = json_label
|
|
50
|
+
|
|
51
|
+
json_is_read: Union[None, Unset, bool]
|
|
52
|
+
if isinstance(is_read, Unset):
|
|
53
|
+
json_is_read = UNSET
|
|
54
|
+
else:
|
|
55
|
+
json_is_read = is_read
|
|
56
|
+
params["is_read"] = json_is_read
|
|
57
|
+
|
|
42
58
|
|
|
43
59
|
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
|
|
44
60
|
|
|
@@ -87,6 +103,8 @@ def sync_detailed(
|
|
|
87
103
|
client: AuthenticatedClient,
|
|
88
104
|
limit: Union[Unset, int] = 25,
|
|
89
105
|
cursor: Union[None, Unset, str] = UNSET,
|
|
106
|
+
label: Union[None, Unset, str] = UNSET,
|
|
107
|
+
is_read: Union[None, Unset, bool] = UNSET,
|
|
90
108
|
|
|
91
109
|
) -> Response[Union[HTTPValidationError, MessagePage]]:
|
|
92
110
|
""" List Messages
|
|
@@ -97,6 +115,8 @@ def sync_detailed(
|
|
|
97
115
|
inbox_id (UUID):
|
|
98
116
|
limit (Union[Unset, int]): Default: 25.
|
|
99
117
|
cursor (Union[None, Unset, str]):
|
|
118
|
+
label (Union[None, Unset, str]):
|
|
119
|
+
is_read (Union[None, Unset, bool]):
|
|
100
120
|
|
|
101
121
|
Raises:
|
|
102
122
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -111,6 +131,8 @@ def sync_detailed(
|
|
|
111
131
|
inbox_id=inbox_id,
|
|
112
132
|
limit=limit,
|
|
113
133
|
cursor=cursor,
|
|
134
|
+
label=label,
|
|
135
|
+
is_read=is_read,
|
|
114
136
|
|
|
115
137
|
)
|
|
116
138
|
|
|
@@ -126,6 +148,8 @@ def sync(
|
|
|
126
148
|
client: AuthenticatedClient,
|
|
127
149
|
limit: Union[Unset, int] = 25,
|
|
128
150
|
cursor: Union[None, Unset, str] = UNSET,
|
|
151
|
+
label: Union[None, Unset, str] = UNSET,
|
|
152
|
+
is_read: Union[None, Unset, bool] = UNSET,
|
|
129
153
|
|
|
130
154
|
) -> Optional[Union[HTTPValidationError, MessagePage]]:
|
|
131
155
|
""" List Messages
|
|
@@ -136,6 +160,8 @@ def sync(
|
|
|
136
160
|
inbox_id (UUID):
|
|
137
161
|
limit (Union[Unset, int]): Default: 25.
|
|
138
162
|
cursor (Union[None, Unset, str]):
|
|
163
|
+
label (Union[None, Unset, str]):
|
|
164
|
+
is_read (Union[None, Unset, bool]):
|
|
139
165
|
|
|
140
166
|
Raises:
|
|
141
167
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -151,6 +177,8 @@ def sync(
|
|
|
151
177
|
client=client,
|
|
152
178
|
limit=limit,
|
|
153
179
|
cursor=cursor,
|
|
180
|
+
label=label,
|
|
181
|
+
is_read=is_read,
|
|
154
182
|
|
|
155
183
|
).parsed
|
|
156
184
|
|
|
@@ -160,6 +188,8 @@ async def asyncio_detailed(
|
|
|
160
188
|
client: AuthenticatedClient,
|
|
161
189
|
limit: Union[Unset, int] = 25,
|
|
162
190
|
cursor: Union[None, Unset, str] = UNSET,
|
|
191
|
+
label: Union[None, Unset, str] = UNSET,
|
|
192
|
+
is_read: Union[None, Unset, bool] = UNSET,
|
|
163
193
|
|
|
164
194
|
) -> Response[Union[HTTPValidationError, MessagePage]]:
|
|
165
195
|
""" List Messages
|
|
@@ -170,6 +200,8 @@ async def asyncio_detailed(
|
|
|
170
200
|
inbox_id (UUID):
|
|
171
201
|
limit (Union[Unset, int]): Default: 25.
|
|
172
202
|
cursor (Union[None, Unset, str]):
|
|
203
|
+
label (Union[None, Unset, str]):
|
|
204
|
+
is_read (Union[None, Unset, bool]):
|
|
173
205
|
|
|
174
206
|
Raises:
|
|
175
207
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -184,6 +216,8 @@ async def asyncio_detailed(
|
|
|
184
216
|
inbox_id=inbox_id,
|
|
185
217
|
limit=limit,
|
|
186
218
|
cursor=cursor,
|
|
219
|
+
label=label,
|
|
220
|
+
is_read=is_read,
|
|
187
221
|
|
|
188
222
|
)
|
|
189
223
|
|
|
@@ -199,6 +233,8 @@ async def asyncio(
|
|
|
199
233
|
client: AuthenticatedClient,
|
|
200
234
|
limit: Union[Unset, int] = 25,
|
|
201
235
|
cursor: Union[None, Unset, str] = UNSET,
|
|
236
|
+
label: Union[None, Unset, str] = UNSET,
|
|
237
|
+
is_read: Union[None, Unset, bool] = UNSET,
|
|
202
238
|
|
|
203
239
|
) -> Optional[Union[HTTPValidationError, MessagePage]]:
|
|
204
240
|
""" List Messages
|
|
@@ -209,6 +245,8 @@ async def asyncio(
|
|
|
209
245
|
inbox_id (UUID):
|
|
210
246
|
limit (Union[Unset, int]): Default: 25.
|
|
211
247
|
cursor (Union[None, Unset, str]):
|
|
248
|
+
label (Union[None, Unset, str]):
|
|
249
|
+
is_read (Union[None, Unset, bool]):
|
|
212
250
|
|
|
213
251
|
Raises:
|
|
214
252
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
@@ -224,5 +262,7 @@ async def asyncio(
|
|
|
224
262
|
client=client,
|
|
225
263
|
limit=limit,
|
|
226
264
|
cursor=cursor,
|
|
265
|
+
label=label,
|
|
266
|
+
is_read=is_read,
|
|
227
267
|
|
|
228
268
|
)).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.http_validation_error import HTTPValidationError
|
|
11
|
+
from ...models.message_state import MessageState
|
|
12
|
+
from ...models.state_change import StateChange
|
|
13
|
+
from typing import cast
|
|
14
|
+
from uuid import UUID
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _get_kwargs(
|
|
19
|
+
message_id: UUID,
|
|
20
|
+
*,
|
|
21
|
+
body: StateChange,
|
|
22
|
+
|
|
23
|
+
) -> dict[str, Any]:
|
|
24
|
+
headers: dict[str, Any] = {}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
_kwargs: dict[str, Any] = {
|
|
32
|
+
"method": "patch",
|
|
33
|
+
"url": "/v1/messages/{message_id}/state".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[HTTPValidationError, MessageState]]:
|
|
46
|
+
if response.status_code == 200:
|
|
47
|
+
response_200 = MessageState.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[HTTPValidationError, MessageState]]:
|
|
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: StateChange,
|
|
78
|
+
|
|
79
|
+
) -> Response[Union[HTTPValidationError, MessageState]]:
|
|
80
|
+
""" Update Message State
|
|
81
|
+
|
|
82
|
+
Args:
|
|
83
|
+
message_id (UUID):
|
|
84
|
+
body (StateChange):
|
|
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[HTTPValidationError, MessageState]]
|
|
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: StateChange,
|
|
112
|
+
|
|
113
|
+
) -> Optional[Union[HTTPValidationError, MessageState]]:
|
|
114
|
+
""" Update Message State
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
message_id (UUID):
|
|
118
|
+
body (StateChange):
|
|
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, MessageState]
|
|
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: StateChange,
|
|
141
|
+
|
|
142
|
+
) -> Response[Union[HTTPValidationError, MessageState]]:
|
|
143
|
+
""" Update Message State
|
|
144
|
+
|
|
145
|
+
Args:
|
|
146
|
+
message_id (UUID):
|
|
147
|
+
body (StateChange):
|
|
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[HTTPValidationError, MessageState]]
|
|
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: StateChange,
|
|
175
|
+
|
|
176
|
+
) -> Optional[Union[HTTPValidationError, MessageState]]:
|
|
177
|
+
""" Update Message State
|
|
178
|
+
|
|
179
|
+
Args:
|
|
180
|
+
message_id (UUID):
|
|
181
|
+
body (StateChange):
|
|
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[HTTPValidationError, MessageState]
|
|
189
|
+
"""
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
return (await asyncio_detailed(
|
|
193
|
+
message_id=message_id,
|
|
194
|
+
client=client,
|
|
195
|
+
body=body,
|
|
196
|
+
|
|
197
|
+
)).parsed
|
|
@@ -31,6 +31,7 @@ from .inbox_response import InboxResponse
|
|
|
31
31
|
from .inbox_update_request import InboxUpdateRequest
|
|
32
32
|
from .message_out import MessageOut
|
|
33
33
|
from .message_page import MessagePage
|
|
34
|
+
from .message_state import MessageState
|
|
34
35
|
from .metrics_out import MetricsOut
|
|
35
36
|
from .metrics_window import MetricsWindow
|
|
36
37
|
from .outgoing_attachment import OutgoingAttachment
|
|
@@ -47,6 +48,7 @@ from .send_request import SendRequest
|
|
|
47
48
|
from .send_response_send import SendResponseSend
|
|
48
49
|
from .signup_in import SignupIn
|
|
49
50
|
from .signup_out import SignupOut
|
|
51
|
+
from .state_change import StateChange
|
|
50
52
|
from .thread_detail_out import ThreadDetailOut
|
|
51
53
|
from .thread_out import ThreadOut
|
|
52
54
|
from .thread_page import ThreadPage
|
|
@@ -93,6 +95,7 @@ __all__ = (
|
|
|
93
95
|
"InboxUpdateRequest",
|
|
94
96
|
"MessageOut",
|
|
95
97
|
"MessagePage",
|
|
98
|
+
"MessageState",
|
|
96
99
|
"MetricsOut",
|
|
97
100
|
"MetricsWindow",
|
|
98
101
|
"OutgoingAttachment",
|
|
@@ -109,6 +112,7 @@ __all__ = (
|
|
|
109
112
|
"SendResponseSend",
|
|
110
113
|
"SignupIn",
|
|
111
114
|
"SignupOut",
|
|
115
|
+
"StateChange",
|
|
112
116
|
"ThreadDetailOut",
|
|
113
117
|
"ThreadOut",
|
|
114
118
|
"ThreadPage",
|
|
@@ -53,6 +53,8 @@ class MessageOut:
|
|
|
53
53
|
subject (Union[None, str]):
|
|
54
54
|
thread_id (UUID):
|
|
55
55
|
cc_addresses (Union[None, Unset, list[str]]):
|
|
56
|
+
labels (Union[Unset, list[str]]):
|
|
57
|
+
read_at (Union[None, Unset, datetime.datetime]):
|
|
56
58
|
to_addresses (Union[None, Unset, list[str]]):
|
|
57
59
|
"""
|
|
58
60
|
|
|
@@ -75,6 +77,8 @@ class MessageOut:
|
|
|
75
77
|
subject: Union[None, str]
|
|
76
78
|
thread_id: UUID
|
|
77
79
|
cc_addresses: Union[None, Unset, list[str]] = UNSET
|
|
80
|
+
labels: Union[Unset, list[str]] = UNSET
|
|
81
|
+
read_at: Union[None, Unset, datetime.datetime] = UNSET
|
|
78
82
|
to_addresses: Union[None, Unset, list[str]] = UNSET
|
|
79
83
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
80
84
|
|
|
@@ -146,6 +150,20 @@ class MessageOut:
|
|
|
146
150
|
else:
|
|
147
151
|
cc_addresses = self.cc_addresses
|
|
148
152
|
|
|
153
|
+
labels: Union[Unset, list[str]] = UNSET
|
|
154
|
+
if not isinstance(self.labels, Unset):
|
|
155
|
+
labels = self.labels
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
read_at: Union[None, Unset, str]
|
|
160
|
+
if isinstance(self.read_at, Unset):
|
|
161
|
+
read_at = UNSET
|
|
162
|
+
elif isinstance(self.read_at, datetime.datetime):
|
|
163
|
+
read_at = self.read_at.isoformat()
|
|
164
|
+
else:
|
|
165
|
+
read_at = self.read_at
|
|
166
|
+
|
|
149
167
|
to_addresses: Union[None, Unset, list[str]]
|
|
150
168
|
if isinstance(self.to_addresses, Unset):
|
|
151
169
|
to_addresses = UNSET
|
|
@@ -181,6 +199,10 @@ class MessageOut:
|
|
|
181
199
|
})
|
|
182
200
|
if cc_addresses is not UNSET:
|
|
183
201
|
field_dict["cc_addresses"] = cc_addresses
|
|
202
|
+
if labels is not UNSET:
|
|
203
|
+
field_dict["labels"] = labels
|
|
204
|
+
if read_at is not UNSET:
|
|
205
|
+
field_dict["read_at"] = read_at
|
|
184
206
|
if to_addresses is not UNSET:
|
|
185
207
|
field_dict["to_addresses"] = to_addresses
|
|
186
208
|
|
|
@@ -315,6 +337,29 @@ class MessageOut:
|
|
|
315
337
|
cc_addresses = _parse_cc_addresses(d.pop("cc_addresses", UNSET))
|
|
316
338
|
|
|
317
339
|
|
|
340
|
+
labels = cast(list[str], d.pop("labels", UNSET))
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
def _parse_read_at(data: object) -> Union[None, Unset, datetime.datetime]:
|
|
344
|
+
if data is None:
|
|
345
|
+
return data
|
|
346
|
+
if isinstance(data, Unset):
|
|
347
|
+
return data
|
|
348
|
+
try:
|
|
349
|
+
if not isinstance(data, str):
|
|
350
|
+
raise TypeError()
|
|
351
|
+
read_at_type_0 = isoparse(data)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
return read_at_type_0
|
|
356
|
+
except: # noqa: E722
|
|
357
|
+
pass
|
|
358
|
+
return cast(Union[None, Unset, datetime.datetime], data)
|
|
359
|
+
|
|
360
|
+
read_at = _parse_read_at(d.pop("read_at", UNSET))
|
|
361
|
+
|
|
362
|
+
|
|
318
363
|
def _parse_to_addresses(data: object) -> Union[None, Unset, list[str]]:
|
|
319
364
|
if data is None:
|
|
320
365
|
return data
|
|
@@ -353,6 +398,8 @@ class MessageOut:
|
|
|
353
398
|
subject=subject,
|
|
354
399
|
thread_id=thread_id,
|
|
355
400
|
cc_addresses=cc_addresses,
|
|
401
|
+
labels=labels,
|
|
402
|
+
read_at=read_at,
|
|
356
403
|
to_addresses=to_addresses,
|
|
357
404
|
)
|
|
358
405
|
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
from dateutil.parser import isoparse
|
|
10
|
+
from typing import cast
|
|
11
|
+
from typing import cast, Union
|
|
12
|
+
from uuid import UUID
|
|
13
|
+
import datetime
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T = TypeVar("T", bound="MessageState")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@_attrs_define
|
|
25
|
+
class MessageState:
|
|
26
|
+
"""
|
|
27
|
+
Attributes:
|
|
28
|
+
id (UUID):
|
|
29
|
+
labels (list[str]):
|
|
30
|
+
read_at (Union[None, datetime.datetime]):
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
id: UUID
|
|
34
|
+
labels: list[str]
|
|
35
|
+
read_at: Union[None, datetime.datetime]
|
|
36
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_dict(self) -> dict[str, Any]:
|
|
43
|
+
id = str(self.id)
|
|
44
|
+
|
|
45
|
+
labels = self.labels
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
read_at: Union[None, str]
|
|
50
|
+
if isinstance(self.read_at, datetime.datetime):
|
|
51
|
+
read_at = self.read_at.isoformat()
|
|
52
|
+
else:
|
|
53
|
+
read_at = self.read_at
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
field_dict: dict[str, Any] = {}
|
|
57
|
+
field_dict.update(self.additional_properties)
|
|
58
|
+
field_dict.update({
|
|
59
|
+
"id": id,
|
|
60
|
+
"labels": labels,
|
|
61
|
+
"read_at": read_at,
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
return field_dict
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
70
|
+
d = dict(src_dict)
|
|
71
|
+
id = UUID(d.pop("id"))
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
labels = cast(list[str], d.pop("labels"))
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def _parse_read_at(data: object) -> Union[None, datetime.datetime]:
|
|
80
|
+
if data is None:
|
|
81
|
+
return data
|
|
82
|
+
try:
|
|
83
|
+
if not isinstance(data, str):
|
|
84
|
+
raise TypeError()
|
|
85
|
+
read_at_type_0 = isoparse(data)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
return read_at_type_0
|
|
90
|
+
except: # noqa: E722
|
|
91
|
+
pass
|
|
92
|
+
return cast(Union[None, datetime.datetime], data)
|
|
93
|
+
|
|
94
|
+
read_at = _parse_read_at(d.pop("read_at"))
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
message_state = cls(
|
|
98
|
+
id=id,
|
|
99
|
+
labels=labels,
|
|
100
|
+
read_at=read_at,
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
message_state.additional_properties = d
|
|
105
|
+
return message_state
|
|
106
|
+
|
|
107
|
+
@property
|
|
108
|
+
def additional_keys(self) -> list[str]:
|
|
109
|
+
return list(self.additional_properties.keys())
|
|
110
|
+
|
|
111
|
+
def __getitem__(self, key: str) -> Any:
|
|
112
|
+
return self.additional_properties[key]
|
|
113
|
+
|
|
114
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
115
|
+
self.additional_properties[key] = value
|
|
116
|
+
|
|
117
|
+
def __delitem__(self, key: str) -> None:
|
|
118
|
+
del self.additional_properties[key]
|
|
119
|
+
|
|
120
|
+
def __contains__(self, key: str) -> bool:
|
|
121
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Optional, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
from typing import cast
|
|
11
|
+
from typing import cast, Union
|
|
12
|
+
from typing import Union
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
T = TypeVar("T", bound="StateChange")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@_attrs_define
|
|
24
|
+
class StateChange:
|
|
25
|
+
"""
|
|
26
|
+
Attributes:
|
|
27
|
+
add_labels (Union[Unset, list[str]]):
|
|
28
|
+
is_read (Union[None, Unset, bool]):
|
|
29
|
+
remove_labels (Union[Unset, list[str]]):
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
add_labels: Union[Unset, list[str]] = UNSET
|
|
33
|
+
is_read: Union[None, Unset, bool] = UNSET
|
|
34
|
+
remove_labels: Union[Unset, list[str]] = UNSET
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_dict(self) -> dict[str, Any]:
|
|
41
|
+
add_labels: Union[Unset, list[str]] = UNSET
|
|
42
|
+
if not isinstance(self.add_labels, Unset):
|
|
43
|
+
add_labels = self.add_labels
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
is_read: Union[None, Unset, bool]
|
|
48
|
+
if isinstance(self.is_read, Unset):
|
|
49
|
+
is_read = UNSET
|
|
50
|
+
else:
|
|
51
|
+
is_read = self.is_read
|
|
52
|
+
|
|
53
|
+
remove_labels: Union[Unset, list[str]] = UNSET
|
|
54
|
+
if not isinstance(self.remove_labels, Unset):
|
|
55
|
+
remove_labels = self.remove_labels
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
field_dict: dict[str, Any] = {}
|
|
61
|
+
|
|
62
|
+
field_dict.update({
|
|
63
|
+
})
|
|
64
|
+
if add_labels is not UNSET:
|
|
65
|
+
field_dict["add_labels"] = add_labels
|
|
66
|
+
if is_read is not UNSET:
|
|
67
|
+
field_dict["is_read"] = is_read
|
|
68
|
+
if remove_labels is not UNSET:
|
|
69
|
+
field_dict["remove_labels"] = remove_labels
|
|
70
|
+
|
|
71
|
+
return field_dict
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@classmethod
|
|
76
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
77
|
+
d = dict(src_dict)
|
|
78
|
+
add_labels = cast(list[str], d.pop("add_labels", UNSET))
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _parse_is_read(data: object) -> Union[None, Unset, bool]:
|
|
82
|
+
if data is None:
|
|
83
|
+
return data
|
|
84
|
+
if isinstance(data, Unset):
|
|
85
|
+
return data
|
|
86
|
+
return cast(Union[None, Unset, bool], data)
|
|
87
|
+
|
|
88
|
+
is_read = _parse_is_read(d.pop("is_read", UNSET))
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
remove_labels = cast(list[str], d.pop("remove_labels", UNSET))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
state_change = cls(
|
|
95
|
+
add_labels=add_labels,
|
|
96
|
+
is_read=is_read,
|
|
97
|
+
remove_labels=remove_labels,
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
return state_change
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -14,8 +14,8 @@ from typing import Union
|
|
|
14
14
|
import datetime
|
|
15
15
|
|
|
16
16
|
if TYPE_CHECKING:
|
|
17
|
-
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
18
17
|
from ..models.delivery_cohort_provider_outcomes import DeliveryCohortProviderOutcomes
|
|
18
|
+
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
@@ -54,8 +54,8 @@ class DeliveryCohort:
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
def to_dict(self) -> dict[str, Any]:
|
|
57
|
-
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
58
57
|
from ..models.delivery_cohort_provider_outcomes import DeliveryCohortProviderOutcomes
|
|
58
|
+
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
59
59
|
accepted_sends = self.accepted_sends
|
|
60
60
|
|
|
61
61
|
current_status = self.current_status.to_dict()
|
|
@@ -96,8 +96,8 @@ class DeliveryCohort:
|
|
|
96
96
|
|
|
97
97
|
@classmethod
|
|
98
98
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
99
|
-
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
100
99
|
from ..models.delivery_cohort_provider_outcomes import DeliveryCohortProviderOutcomes
|
|
100
|
+
from ..models.delivery_cohort_current_status import DeliveryCohortCurrentStatus
|
|
101
101
|
d = dict(src_dict)
|
|
102
102
|
accepted_sends = d.pop("accepted_sends")
|
|
103
103
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -13,10 +13,10 @@ from typing import Union
|
|
|
13
13
|
from uuid import UUID
|
|
14
14
|
|
|
15
15
|
if TYPE_CHECKING:
|
|
16
|
+
from ..models.usage_counts import UsageCounts
|
|
16
17
|
from ..models.delivery_cohort import DeliveryCohort
|
|
17
18
|
from ..models.daily_usage import DailyUsage
|
|
18
19
|
from ..models.metrics_window import MetricsWindow
|
|
19
|
-
from ..models.usage_counts import UsageCounts
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -53,10 +53,10 @@ class MetricsOut:
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
def to_dict(self) -> dict[str, Any]:
|
|
56
|
+
from ..models.usage_counts import UsageCounts
|
|
56
57
|
from ..models.delivery_cohort import DeliveryCohort
|
|
57
58
|
from ..models.daily_usage import DailyUsage
|
|
58
59
|
from ..models.metrics_window import MetricsWindow
|
|
59
|
-
from ..models.usage_counts import UsageCounts
|
|
60
60
|
daily = []
|
|
61
61
|
for daily_item_data in self.daily:
|
|
62
62
|
daily_item = daily_item_data.to_dict()
|
|
@@ -104,10 +104,10 @@ class MetricsOut:
|
|
|
104
104
|
|
|
105
105
|
@classmethod
|
|
106
106
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
107
|
+
from ..models.usage_counts import UsageCounts
|
|
107
108
|
from ..models.delivery_cohort import DeliveryCohort
|
|
108
109
|
from ..models.daily_usage import DailyUsage
|
|
109
110
|
from ..models.metrics_window import MetricsWindow
|
|
110
|
-
from ..models.usage_counts import UsageCounts
|
|
111
111
|
d = dict(src_dict)
|
|
112
112
|
daily = []
|
|
113
113
|
_daily = d.pop("daily")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{daknode-0.3.4 → daknode-0.3.5}/daknode/models/read_erasure_request_response_read_erasure_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|