dart-tools 0.6.15__py3-none-any.whl → 0.7.0__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 dart-tools might be problematic. Click here for more details.
- dart/__init__.py +8 -6
- dart/dart.py +421 -698
- dart/generated/__init__.py +1 -1
- dart/generated/api/__init__.py +8 -0
- dart/generated/api/comment/__init__.py +1 -0
- dart/generated/api/{transactions/transactions_create.py → comment/create_comment.py} +57 -58
- dart/generated/api/config/__init__.py +1 -0
- dart/generated/api/config/get_config.py +141 -0
- dart/generated/api/dartboard/__init__.py +1 -0
- dart/generated/api/{attachments/attachments_list.py → dartboard/retrieve_dartboard.py} +58 -62
- dart/generated/api/doc/__init__.py +1 -0
- dart/generated/api/doc/create_doc.py +179 -0
- dart/generated/api/doc/delete_doc.py +165 -0
- dart/generated/api/{comments/comments_list.py → doc/list_docs.py} +115 -111
- dart/generated/api/{forms/forms_list.py → doc/retrieve_doc.py} +58 -62
- dart/generated/api/doc/update_doc.py +188 -0
- dart/generated/api/folder/__init__.py +1 -0
- dart/generated/api/{webhooks/webhooks_list.py → folder/retrieve_folder.py} +58 -62
- dart/generated/api/task/__init__.py +1 -0
- dart/generated/api/task/create_task.py +172 -0
- dart/generated/api/task/delete_task.py +165 -0
- dart/generated/api/task/list_tasks.py +497 -0
- dart/generated/api/{layouts/layouts_list.py → task/retrieve_task.py} +58 -62
- dart/generated/api/task/update_task.py +188 -0
- dart/generated/api/view/__init__.py +1 -0
- dart/generated/api/{tenants/tenants_list.py → view/retrieve_view.py} +58 -62
- dart/generated/client.py +13 -13
- dart/generated/models/__init__.py +34 -342
- dart/generated/models/comment.py +34 -150
- dart/generated/models/comment_create.py +18 -97
- dart/generated/models/concise_doc.py +84 -0
- dart/generated/models/concise_task.py +267 -0
- dart/generated/models/dartboard.py +37 -237
- dart/generated/models/doc.py +31 -183
- dart/generated/models/doc_create.py +22 -238
- dart/generated/models/doc_update.py +26 -233
- dart/generated/models/folder.py +39 -84
- dart/generated/models/list_docs_o_item.py +15 -0
- dart/generated/models/{paginated_attachment_list.py → paginated_concise_doc_list.py} +18 -17
- dart/generated/models/{paginated_dartboard_list.py → paginated_concise_task_list.py} +18 -17
- dart/generated/models/task.py +149 -406
- dart/generated/models/task_create.py +113 -428
- dart/generated/models/task_update.py +113 -421
- dart/generated/models/user.py +14 -192
- dart/generated/models/user_space_configuration.py +147 -0
- dart/generated/models/view.py +39 -149
- dart/generated/models/wrapped_comment.py +65 -0
- dart/generated/models/wrapped_comment_create.py +65 -0
- dart/generated/models/wrapped_dartboard.py +65 -0
- dart/generated/models/wrapped_doc.py +65 -0
- dart/generated/models/wrapped_doc_create.py +65 -0
- dart/generated/models/wrapped_doc_update.py +65 -0
- dart/generated/models/wrapped_folder.py +65 -0
- dart/generated/models/wrapped_task.py +65 -0
- dart/generated/models/wrapped_task_create.py +65 -0
- dart/generated/models/wrapped_task_update.py +65 -0
- dart/generated/models/wrapped_view.py +65 -0
- dart/generated/types.py +4 -3
- dart/old.py +216 -0
- dart/order_manager.py +4 -15
- dart/webhook.py +2 -7
- {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/METADATA +15 -75
- dart_tools-0.7.0.dist-info/RECORD +71 -0
- {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/WHEEL +1 -1
- dart/generated/api/attachments/__init__.py +0 -0
- dart/generated/api/comments/__init__.py +0 -0
- dart/generated/api/dartboards/__init__.py +0 -0
- dart/generated/api/dartboards/dartboards_list.py +0 -286
- dart/generated/api/dashboards/__init__.py +0 -0
- dart/generated/api/dashboards/dashboards_list.py +0 -199
- dart/generated/api/docs/__init__.py +0 -0
- dart/generated/api/docs/docs_list.py +0 -387
- dart/generated/api/folders/__init__.py +0 -0
- dart/generated/api/folders/folders_list.py +0 -249
- dart/generated/api/form_fields/__init__.py +0 -0
- dart/generated/api/form_fields/form_fields_list.py +0 -169
- dart/generated/api/forms/__init__.py +0 -0
- dart/generated/api/layouts/__init__.py +0 -0
- dart/generated/api/links/__init__.py +0 -0
- dart/generated/api/links/links_list.py +0 -169
- dart/generated/api/options/__init__.py +0 -0
- dart/generated/api/options/options_list.py +0 -244
- dart/generated/api/properties/__init__.py +0 -0
- dart/generated/api/properties/properties_list.py +0 -219
- dart/generated/api/reactions/__init__.py +0 -0
- dart/generated/api/reactions/reactions_list.py +0 -169
- dart/generated/api/relationship_kinds/__init__.py +0 -0
- dart/generated/api/relationship_kinds/relationship_kinds_list.py +0 -169
- dart/generated/api/relationships/__init__.py +0 -0
- dart/generated/api/relationships/relationships_list.py +0 -169
- dart/generated/api/spaces/__init__.py +0 -0
- dart/generated/api/spaces/spaces_list.py +0 -229
- dart/generated/api/statuses/__init__.py +0 -0
- dart/generated/api/statuses/statuses_list.py +0 -264
- dart/generated/api/task_doc_relationships/__init__.py +0 -0
- dart/generated/api/task_doc_relationships/task_doc_relationships_list.py +0 -169
- dart/generated/api/task_kinds/__init__.py +0 -0
- dart/generated/api/task_kinds/task_kinds_list.py +0 -219
- dart/generated/api/tasks/__init__.py +0 -0
- dart/generated/api/tasks/tasks_list.py +0 -461
- dart/generated/api/tenants/__init__.py +0 -0
- dart/generated/api/transactions/__init__.py +0 -0
- dart/generated/api/user_dartboard_layouts/__init__.py +0 -0
- dart/generated/api/user_dartboard_layouts/user_dartboard_layouts_list.py +0 -169
- dart/generated/api/user_data/__init__.py +0 -0
- dart/generated/api/user_data/user_data_entity_retrieve.py +0 -580
- dart/generated/api/users/__init__.py +0 -0
- dart/generated/api/users/users_list.py +0 -229
- dart/generated/api/views/__init__.py +0 -0
- dart/generated/api/views/views_list.py +0 -199
- dart/generated/api/webhooks/__init__.py +0 -0
- dart/generated/models/attachment.py +0 -112
- dart/generated/models/attachment_create.py +0 -121
- dart/generated/models/attachment_update.py +0 -125
- dart/generated/models/bar_chart_adtl.py +0 -98
- dart/generated/models/brainstorm.py +0 -149
- dart/generated/models/brainstorm_create.py +0 -134
- dart/generated/models/brainstorm_state.py +0 -10
- dart/generated/models/brainstorm_update.py +0 -153
- dart/generated/models/burn_up_chart_adtl.py +0 -103
- dart/generated/models/chart.py +0 -208
- dart/generated/models/chart_aggregation.py +0 -10
- dart/generated/models/chart_type.py +0 -14
- dart/generated/models/comment_reaction.py +0 -84
- dart/generated/models/comment_reaction_create.py +0 -82
- dart/generated/models/comment_reaction_update.py +0 -87
- dart/generated/models/comment_update.py +0 -148
- dart/generated/models/dartboard_create.py +0 -315
- dart/generated/models/dartboard_kind.py +0 -12
- dart/generated/models/dartboard_update.py +0 -317
- dart/generated/models/dartboards_list_kind.py +0 -12
- dart/generated/models/dashboard.py +0 -185
- dart/generated/models/dashboard_create.py +0 -171
- dart/generated/models/dashboard_update.py +0 -173
- dart/generated/models/discord_integration.py +0 -72
- dart/generated/models/doc_source_type.py +0 -13
- dart/generated/models/docs_list_o_item.py +0 -15
- dart/generated/models/entity_name.py +0 -22
- dart/generated/models/event.py +0 -420
- dart/generated/models/event_actor.py +0 -19
- dart/generated/models/event_create.py +0 -158
- dart/generated/models/event_kind.py +0 -88
- dart/generated/models/event_subscription.py +0 -74
- dart/generated/models/event_subscription_update.py +0 -173
- dart/generated/models/filter_applicability.py +0 -22
- dart/generated/models/filter_assignee.py +0 -116
- dart/generated/models/filter_connector.py +0 -9
- dart/generated/models/filter_group.py +0 -112
- dart/generated/models/filter_search.py +0 -82
- dart/generated/models/filter_set.py +0 -116
- dart/generated/models/folder_create.py +0 -150
- dart/generated/models/folder_kind.py +0 -10
- dart/generated/models/folder_update.py +0 -152
- dart/generated/models/folders_list_kind.py +0 -10
- dart/generated/models/form.py +0 -147
- dart/generated/models/form_create.py +0 -141
- dart/generated/models/form_field.py +0 -144
- dart/generated/models/form_field_create.py +0 -129
- dart/generated/models/form_field_update.py +0 -132
- dart/generated/models/form_update.py +0 -142
- dart/generated/models/github_integration.py +0 -163
- dart/generated/models/github_integration_tenant_extension_status.py +0 -11
- dart/generated/models/google_data.py +0 -94
- dart/generated/models/icon_kind.py +0 -10
- dart/generated/models/layout.py +0 -167
- dart/generated/models/layout_config.py +0 -70
- dart/generated/models/layout_create.py +0 -130
- dart/generated/models/layout_kind.py +0 -11
- dart/generated/models/layout_kind_config_map.py +0 -56
- dart/generated/models/layout_update.py +0 -130
- dart/generated/models/line_chart_adtl.py +0 -72
- dart/generated/models/models_response.py +0 -671
- dart/generated/models/notification.py +0 -120
- dart/generated/models/notification_update.py +0 -100
- dart/generated/models/notion_integration.py +0 -90
- dart/generated/models/notion_integration_tenant_extension_status.py +0 -10
- dart/generated/models/number_chart_adtl.py +0 -77
- dart/generated/models/operation.py +0 -874
- dart/generated/models/operation_kind.py +0 -12
- dart/generated/models/operation_model_kind.py +0 -36
- dart/generated/models/option.py +0 -118
- dart/generated/models/option_create.py +0 -105
- dart/generated/models/option_update.py +0 -107
- dart/generated/models/paginated_comment_list.py +0 -122
- dart/generated/models/paginated_comment_reaction_list.py +0 -122
- dart/generated/models/paginated_dashboard_list.py +0 -122
- dart/generated/models/paginated_doc_list.py +0 -122
- dart/generated/models/paginated_folder_list.py +0 -122
- dart/generated/models/paginated_form_field_list.py +0 -122
- dart/generated/models/paginated_form_list.py +0 -122
- dart/generated/models/paginated_layout_list.py +0 -122
- dart/generated/models/paginated_option_list.py +0 -122
- dart/generated/models/paginated_property_list.py +0 -122
- dart/generated/models/paginated_relationship_kind_list.py +0 -122
- dart/generated/models/paginated_relationship_list.py +0 -122
- dart/generated/models/paginated_space_list.py +0 -122
- dart/generated/models/paginated_status_list.py +0 -122
- dart/generated/models/paginated_task_doc_relationship_list.py +0 -122
- dart/generated/models/paginated_task_kind_list.py +0 -122
- dart/generated/models/paginated_task_link_list.py +0 -122
- dart/generated/models/paginated_task_list.py +0 -122
- dart/generated/models/paginated_tenant_list.py +0 -122
- dart/generated/models/paginated_user_dartboard_layout_list.py +0 -122
- dart/generated/models/paginated_user_list.py +0 -122
- dart/generated/models/paginated_view_list.py +0 -122
- dart/generated/models/paginated_webhook_list.py +0 -122
- dart/generated/models/pie_chart_adtl.py +0 -69
- dart/generated/models/pie_chart_display_metric.py +0 -9
- dart/generated/models/properties_list_kind.py +0 -32
- dart/generated/models/property_.py +0 -153
- dart/generated/models/property_create.py +0 -137
- dart/generated/models/property_kind.py +0 -32
- dart/generated/models/property_update.py +0 -146
- dart/generated/models/relationship.py +0 -74
- dart/generated/models/relationship_create.py +0 -93
- dart/generated/models/relationship_kind.py +0 -123
- dart/generated/models/relationship_kind_create.py +0 -117
- dart/generated/models/relationship_kind_kind.py +0 -12
- dart/generated/models/relationship_kind_update.py +0 -119
- dart/generated/models/report_kind.py +0 -9
- dart/generated/models/request_body.py +0 -80
- dart/generated/models/response_body.py +0 -72
- dart/generated/models/saml_config.py +0 -77
- dart/generated/models/saml_config_tenant_extension_status.py +0 -9
- dart/generated/models/slack_integration.py +0 -90
- dart/generated/models/slack_integration_tenant_extension_status.py +0 -10
- dart/generated/models/sort.py +0 -66
- dart/generated/models/space.py +0 -311
- dart/generated/models/space_create.py +0 -340
- dart/generated/models/space_kind.py +0 -10
- dart/generated/models/space_update.py +0 -341
- dart/generated/models/sprint_mode.py +0 -9
- dart/generated/models/status.py +0 -141
- dart/generated/models/status_create.py +0 -125
- dart/generated/models/status_kind.py +0 -12
- dart/generated/models/status_update.py +0 -135
- dart/generated/models/statuses_list_kind.py +0 -12
- dart/generated/models/subscription.py +0 -9
- dart/generated/models/subtask_display_mode.py +0 -10
- dart/generated/models/summary_statistic_kind.py +0 -14
- dart/generated/models/table_chart_adtl.py +0 -98
- dart/generated/models/task_detail_mode.py +0 -10
- dart/generated/models/task_doc_relationship.py +0 -96
- dart/generated/models/task_doc_relationship_create.py +0 -74
- dart/generated/models/task_kind.py +0 -149
- dart/generated/models/task_kind_create.py +0 -144
- dart/generated/models/task_kind_kind.py +0 -9
- dart/generated/models/task_kind_update.py +0 -153
- dart/generated/models/task_kinds_list_kind.py +0 -9
- dart/generated/models/task_link.py +0 -131
- dart/generated/models/task_link_create.py +0 -152
- dart/generated/models/task_link_kind.py +0 -19
- dart/generated/models/task_link_update.py +0 -155
- dart/generated/models/task_notion_document.py +0 -196
- dart/generated/models/task_notion_document_block_children_map_type_0.py +0 -43
- dart/generated/models/task_notion_document_block_map_type_0.py +0 -43
- dart/generated/models/task_notion_document_page_map_type_0.py +0 -43
- dart/generated/models/task_properties.py +0 -43
- dart/generated/models/task_source_type.py +0 -31
- dart/generated/models/tenant.py +0 -386
- dart/generated/models/tenant_update.py +0 -166
- dart/generated/models/theme.py +0 -10
- dart/generated/models/transaction.py +0 -158
- dart/generated/models/transaction_kind.py +0 -74
- dart/generated/models/transaction_response.py +0 -96
- dart/generated/models/user_dartboard_layout.py +0 -66
- dart/generated/models/user_dartboard_layout_create.py +0 -74
- dart/generated/models/user_data_entity_retrieve_entity_kind.py +0 -32
- dart/generated/models/user_role.py +0 -12
- dart/generated/models/user_status.py +0 -12
- dart/generated/models/user_update.py +0 -210
- dart/generated/models/validation_error_response.py +0 -64
- dart/generated/models/validation_error_response_items.py +0 -43
- dart/generated/models/view_create.py +0 -213
- dart/generated/models/view_kind.py +0 -11
- dart/generated/models/view_update.py +0 -215
- dart/generated/models/webhook.py +0 -96
- dart/generated/models/webhook_create.py +0 -77
- dart/generated/models/webhook_update.py +0 -78
- dart/generated/models/zapier_integration.py +0 -66
- dart_tools-0.6.15.dist-info/RECORD +0 -257
- dart_tools-0.6.15.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
- {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/entry_points.txt +0 -0
- {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info/licenses}/LICENSE +0 -0
- {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/top_level.txt +0 -0
dart/generated/models/task.py
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
from typing import
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
|
-
from dateutil.parser import isoparse
|
|
7
6
|
|
|
8
7
|
from ..models.priority import Priority
|
|
9
|
-
from ..models.task_source_type import TaskSourceType
|
|
10
8
|
from ..types import UNSET, Unset
|
|
11
9
|
|
|
12
|
-
if TYPE_CHECKING:
|
|
13
|
-
from ..models.relationship import Relationship
|
|
14
|
-
from ..models.task_link import TaskLink
|
|
15
|
-
from ..models.task_notion_document import TaskNotionDocument
|
|
16
|
-
from ..models.task_properties import TaskProperties
|
|
17
|
-
|
|
18
|
-
|
|
19
10
|
T = TypeVar("T", bound="Task")
|
|
20
11
|
|
|
21
12
|
|
|
@@ -23,499 +14,251 @@ T = TypeVar("T", bound="Task")
|
|
|
23
14
|
class Task:
|
|
24
15
|
"""
|
|
25
16
|
Attributes:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
created_at (datetime.datetime):
|
|
52
|
-
created_by_duid (Union[None, str]):
|
|
53
|
-
updated_at (datetime.datetime):
|
|
54
|
-
updated_by_duid (Union[None, str]):
|
|
55
|
-
drafter_duid (Union[None, str]):
|
|
56
|
-
in_trash (bool):
|
|
57
|
-
dartboard_duid (str):
|
|
58
|
-
order (str):
|
|
59
|
-
expanded (bool):
|
|
60
|
-
kind_duid (str):
|
|
61
|
-
title (str):
|
|
62
|
-
description (Any):
|
|
63
|
-
notion_document (Union['TaskNotionDocument', None]):
|
|
64
|
-
status_duid (str):
|
|
65
|
-
assigned_to_ai (bool):
|
|
66
|
-
recommendation_duid (Union[None, str]):
|
|
67
|
-
assignee_duids (List[str]):
|
|
68
|
-
subscriber_duids (List[str]):
|
|
69
|
-
tag_duids (List[str]):
|
|
70
|
-
links (List['TaskLink']):
|
|
71
|
-
attachment_duids (List[str]):
|
|
72
|
-
relationships (List['Relationship']):
|
|
73
|
-
priority (Union[None, Priority]):
|
|
74
|
-
size (Union[None, int]):
|
|
75
|
-
start_at (Union[None, datetime.datetime]):
|
|
76
|
-
due_at (Union[None, datetime.datetime]):
|
|
77
|
-
time_tracking (Any):
|
|
78
|
-
remind_at (Union[None, datetime.datetime]):
|
|
79
|
-
recurrence (Union[Any, None]):
|
|
80
|
-
recurs_next_at (Union[None, datetime.datetime]):
|
|
81
|
-
properties (TaskProperties):
|
|
82
|
-
updated_by_client_duid (Union[None, Unset, str]):
|
|
17
|
+
id (str): The universal, unique ID of the task.
|
|
18
|
+
html_url (str): The URL that can be used to open the task in the Dart web UI.
|
|
19
|
+
title (str): The title, which is a short description of what needs to be done.
|
|
20
|
+
parent_id (Union[None, str]): The universal, unique ID of the parent task. This can be null.
|
|
21
|
+
dartboard (str): The full title of the dartboard, which is a project or list of tasks.
|
|
22
|
+
type_ (str): The title of the type of the task.
|
|
23
|
+
status (str): The status from the list of available statuses.
|
|
24
|
+
description (str): A longer description of the task, which can include markdown formatting.
|
|
25
|
+
assignees (Union[Unset, list[str]]): The names or emails of the users that the task is assigned to. Either this
|
|
26
|
+
or assignee must be included, depending on whether the workspaces allows multiple assignees or not.
|
|
27
|
+
assignee (Union[None, Unset, str]): The name or email of the user that the task is assigned to. Either this or
|
|
28
|
+
assignees must be included, depending on whether the workspaces allows multiple assignees or not.
|
|
29
|
+
tags (Union[Unset, list[str]]): Any tags that should be applied to the task, which can be used to filter and
|
|
30
|
+
search for tasks. Tags are also known as labels or components and are strings that can be anything, but should
|
|
31
|
+
be short and descriptive. This list can be empty.
|
|
32
|
+
priority (Union[None, Priority, Unset]): The priority, which is a string that can be one of the specified
|
|
33
|
+
options. This is used to sort tasks and determine which tasks should be done first.
|
|
34
|
+
start_at (Union[None, Unset, str]): The start date, which is a date and time that the task should be started by
|
|
35
|
+
in ISO format. It should be at 9:00am in the timezone of the user.
|
|
36
|
+
due_at (Union[None, Unset, str]): The due date, which is a date and time that the task should be completed by in
|
|
37
|
+
ISO format. It should be at 9:00am in the timezone of the user.
|
|
38
|
+
size (Union[None, Unset, int]): The size, which is a number that represents the amount of work that needs to be
|
|
39
|
+
done. This is used to determine how long the task will take to complete.
|
|
40
|
+
time_tracking (Union[Unset, str]): The time tracking, which is a string that indicates the amount of time spent
|
|
41
|
+
on the task in hh:mm:ss format (or an empty string if no time has been tracked).
|
|
83
42
|
"""
|
|
84
43
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
created_at: datetime.datetime
|
|
88
|
-
created_by_duid: Union[None, str]
|
|
89
|
-
updated_at: datetime.datetime
|
|
90
|
-
updated_by_duid: Union[None, str]
|
|
91
|
-
drafter_duid: Union[None, str]
|
|
92
|
-
in_trash: bool
|
|
93
|
-
dartboard_duid: str
|
|
94
|
-
order: str
|
|
95
|
-
expanded: bool
|
|
96
|
-
kind_duid: str
|
|
44
|
+
id: str
|
|
45
|
+
html_url: str
|
|
97
46
|
title: str
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
properties: "TaskProperties"
|
|
118
|
-
updated_by_client_duid: Union[None, Unset, str] = UNSET
|
|
119
|
-
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
120
|
-
|
|
121
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
122
|
-
from ..models.task_notion_document import TaskNotionDocument
|
|
123
|
-
|
|
124
|
-
duid = self.duid
|
|
125
|
-
|
|
126
|
-
source_type = self.source_type.value
|
|
127
|
-
|
|
128
|
-
created_at = self.created_at.isoformat()
|
|
129
|
-
|
|
130
|
-
created_by_duid: Union[None, str]
|
|
131
|
-
created_by_duid = self.created_by_duid
|
|
132
|
-
|
|
133
|
-
updated_at = self.updated_at.isoformat()
|
|
134
|
-
|
|
135
|
-
updated_by_duid: Union[None, str]
|
|
136
|
-
updated_by_duid = self.updated_by_duid
|
|
137
|
-
|
|
138
|
-
drafter_duid: Union[None, str]
|
|
139
|
-
drafter_duid = self.drafter_duid
|
|
140
|
-
|
|
141
|
-
in_trash = self.in_trash
|
|
142
|
-
|
|
143
|
-
dartboard_duid = self.dartboard_duid
|
|
144
|
-
|
|
145
|
-
order = self.order
|
|
146
|
-
|
|
147
|
-
expanded = self.expanded
|
|
148
|
-
|
|
149
|
-
kind_duid = self.kind_duid
|
|
47
|
+
parent_id: Union[None, str]
|
|
48
|
+
dartboard: str
|
|
49
|
+
type_: str
|
|
50
|
+
status: str
|
|
51
|
+
description: str
|
|
52
|
+
assignees: Union[Unset, list[str]] = UNSET
|
|
53
|
+
assignee: Union[None, Unset, str] = UNSET
|
|
54
|
+
tags: Union[Unset, list[str]] = UNSET
|
|
55
|
+
priority: Union[None, Priority, Unset] = UNSET
|
|
56
|
+
start_at: Union[None, Unset, str] = UNSET
|
|
57
|
+
due_at: Union[None, Unset, str] = UNSET
|
|
58
|
+
size: Union[None, Unset, int] = UNSET
|
|
59
|
+
time_tracking: Union[Unset, str] = UNSET
|
|
60
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
61
|
+
|
|
62
|
+
def to_dict(self) -> dict[str, Any]:
|
|
63
|
+
id = self.id
|
|
64
|
+
|
|
65
|
+
html_url = self.html_url
|
|
150
66
|
|
|
151
67
|
title = self.title
|
|
152
68
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
notion_document: Union[Dict[str, Any], None]
|
|
156
|
-
if isinstance(self.notion_document, TaskNotionDocument):
|
|
157
|
-
notion_document = self.notion_document.to_dict()
|
|
158
|
-
else:
|
|
159
|
-
notion_document = self.notion_document
|
|
160
|
-
|
|
161
|
-
status_duid = self.status_duid
|
|
69
|
+
parent_id: Union[None, str]
|
|
70
|
+
parent_id = self.parent_id
|
|
162
71
|
|
|
163
|
-
|
|
72
|
+
dartboard = self.dartboard
|
|
164
73
|
|
|
165
|
-
|
|
166
|
-
recommendation_duid = self.recommendation_duid
|
|
74
|
+
type_ = self.type_
|
|
167
75
|
|
|
168
|
-
|
|
76
|
+
status = self.status
|
|
169
77
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
tag_duids = self.tag_duids
|
|
78
|
+
description = self.description
|
|
173
79
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
links.append(links_item)
|
|
80
|
+
assignees: Union[Unset, list[str]] = UNSET
|
|
81
|
+
if not isinstance(self.assignees, Unset):
|
|
82
|
+
assignees = self.assignees
|
|
178
83
|
|
|
179
|
-
|
|
84
|
+
assignee: Union[None, Unset, str]
|
|
85
|
+
if isinstance(self.assignee, Unset):
|
|
86
|
+
assignee = UNSET
|
|
87
|
+
else:
|
|
88
|
+
assignee = self.assignee
|
|
180
89
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
relationships.append(relationships_item)
|
|
90
|
+
tags: Union[Unset, list[str]] = UNSET
|
|
91
|
+
if not isinstance(self.tags, Unset):
|
|
92
|
+
tags = self.tags
|
|
185
93
|
|
|
186
|
-
priority: Union[None, str]
|
|
187
|
-
if isinstance(self.priority,
|
|
94
|
+
priority: Union[None, Unset, str]
|
|
95
|
+
if isinstance(self.priority, Unset):
|
|
96
|
+
priority = UNSET
|
|
97
|
+
elif isinstance(self.priority, Priority):
|
|
188
98
|
priority = self.priority.value
|
|
189
99
|
else:
|
|
190
100
|
priority = self.priority
|
|
191
101
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
start_at: Union[None, str]
|
|
196
|
-
if isinstance(self.start_at, datetime.datetime):
|
|
197
|
-
start_at = self.start_at.isoformat()
|
|
102
|
+
start_at: Union[None, Unset, str]
|
|
103
|
+
if isinstance(self.start_at, Unset):
|
|
104
|
+
start_at = UNSET
|
|
198
105
|
else:
|
|
199
106
|
start_at = self.start_at
|
|
200
107
|
|
|
201
|
-
due_at: Union[None, str]
|
|
202
|
-
if isinstance(self.due_at,
|
|
203
|
-
due_at =
|
|
108
|
+
due_at: Union[None, Unset, str]
|
|
109
|
+
if isinstance(self.due_at, Unset):
|
|
110
|
+
due_at = UNSET
|
|
204
111
|
else:
|
|
205
112
|
due_at = self.due_at
|
|
206
113
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
if isinstance(self.remind_at, datetime.datetime):
|
|
211
|
-
remind_at = self.remind_at.isoformat()
|
|
114
|
+
size: Union[None, Unset, int]
|
|
115
|
+
if isinstance(self.size, Unset):
|
|
116
|
+
size = UNSET
|
|
212
117
|
else:
|
|
213
|
-
|
|
118
|
+
size = self.size
|
|
214
119
|
|
|
215
|
-
|
|
216
|
-
recurrence = self.recurrence
|
|
217
|
-
|
|
218
|
-
recurs_next_at: Union[None, str]
|
|
219
|
-
if isinstance(self.recurs_next_at, datetime.datetime):
|
|
220
|
-
recurs_next_at = self.recurs_next_at.isoformat()
|
|
221
|
-
else:
|
|
222
|
-
recurs_next_at = self.recurs_next_at
|
|
223
|
-
|
|
224
|
-
properties = self.properties.to_dict()
|
|
225
|
-
|
|
226
|
-
updated_by_client_duid: Union[None, Unset, str]
|
|
227
|
-
if isinstance(self.updated_by_client_duid, Unset):
|
|
228
|
-
updated_by_client_duid = UNSET
|
|
229
|
-
else:
|
|
230
|
-
updated_by_client_duid = self.updated_by_client_duid
|
|
120
|
+
time_tracking = self.time_tracking
|
|
231
121
|
|
|
232
|
-
field_dict:
|
|
122
|
+
field_dict: dict[str, Any] = {}
|
|
233
123
|
field_dict.update(self.additional_properties)
|
|
234
124
|
field_dict.update(
|
|
235
125
|
{
|
|
236
|
-
"
|
|
237
|
-
"
|
|
238
|
-
"createdAt": created_at,
|
|
239
|
-
"createdByDuid": created_by_duid,
|
|
240
|
-
"updatedAt": updated_at,
|
|
241
|
-
"updatedByDuid": updated_by_duid,
|
|
242
|
-
"drafterDuid": drafter_duid,
|
|
243
|
-
"inTrash": in_trash,
|
|
244
|
-
"dartboardDuid": dartboard_duid,
|
|
245
|
-
"order": order,
|
|
246
|
-
"expanded": expanded,
|
|
247
|
-
"kindDuid": kind_duid,
|
|
126
|
+
"id": id,
|
|
127
|
+
"htmlUrl": html_url,
|
|
248
128
|
"title": title,
|
|
129
|
+
"parentId": parent_id,
|
|
130
|
+
"dartboard": dartboard,
|
|
131
|
+
"type": type_,
|
|
132
|
+
"status": status,
|
|
249
133
|
"description": description,
|
|
250
|
-
"notionDocument": notion_document,
|
|
251
|
-
"statusDuid": status_duid,
|
|
252
|
-
"assignedToAi": assigned_to_ai,
|
|
253
|
-
"recommendationDuid": recommendation_duid,
|
|
254
|
-
"assigneeDuids": assignee_duids,
|
|
255
|
-
"subscriberDuids": subscriber_duids,
|
|
256
|
-
"tagDuids": tag_duids,
|
|
257
|
-
"links": links,
|
|
258
|
-
"attachmentDuids": attachment_duids,
|
|
259
|
-
"relationships": relationships,
|
|
260
|
-
"priority": priority,
|
|
261
|
-
"size": size,
|
|
262
|
-
"startAt": start_at,
|
|
263
|
-
"dueAt": due_at,
|
|
264
|
-
"timeTracking": time_tracking,
|
|
265
|
-
"remindAt": remind_at,
|
|
266
|
-
"recurrence": recurrence,
|
|
267
|
-
"recursNextAt": recurs_next_at,
|
|
268
|
-
"properties": properties,
|
|
269
134
|
}
|
|
270
135
|
)
|
|
271
|
-
if
|
|
272
|
-
field_dict["
|
|
136
|
+
if assignees is not UNSET:
|
|
137
|
+
field_dict["assignees"] = assignees
|
|
138
|
+
if assignee is not UNSET:
|
|
139
|
+
field_dict["assignee"] = assignee
|
|
140
|
+
if tags is not UNSET:
|
|
141
|
+
field_dict["tags"] = tags
|
|
142
|
+
if priority is not UNSET:
|
|
143
|
+
field_dict["priority"] = priority
|
|
144
|
+
if start_at is not UNSET:
|
|
145
|
+
field_dict["startAt"] = start_at
|
|
146
|
+
if due_at is not UNSET:
|
|
147
|
+
field_dict["dueAt"] = due_at
|
|
148
|
+
if size is not UNSET:
|
|
149
|
+
field_dict["size"] = size
|
|
150
|
+
if time_tracking is not UNSET:
|
|
151
|
+
field_dict["timeTracking"] = time_tracking
|
|
273
152
|
|
|
274
153
|
return field_dict
|
|
275
154
|
|
|
276
155
|
@classmethod
|
|
277
|
-
def from_dict(cls:
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
from ..models.task_notion_document import TaskNotionDocument
|
|
281
|
-
from ..models.task_properties import TaskProperties
|
|
282
|
-
|
|
283
|
-
d = src_dict.copy()
|
|
284
|
-
duid = d.pop("duid")
|
|
285
|
-
|
|
286
|
-
source_type = TaskSourceType(d.pop("sourceType"))
|
|
287
|
-
|
|
288
|
-
created_at = isoparse(d.pop("createdAt"))
|
|
289
|
-
|
|
290
|
-
def _parse_created_by_duid(data: object) -> Union[None, str]:
|
|
291
|
-
if data is None:
|
|
292
|
-
return data
|
|
293
|
-
return cast(Union[None, str], data)
|
|
156
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
157
|
+
d = dict(src_dict)
|
|
158
|
+
id = d.pop("id")
|
|
294
159
|
|
|
295
|
-
|
|
160
|
+
html_url = d.pop("htmlUrl")
|
|
296
161
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
def _parse_updated_by_duid(data: object) -> Union[None, str]:
|
|
300
|
-
if data is None:
|
|
301
|
-
return data
|
|
302
|
-
return cast(Union[None, str], data)
|
|
303
|
-
|
|
304
|
-
updated_by_duid = _parse_updated_by_duid(d.pop("updatedByDuid"))
|
|
162
|
+
title = d.pop("title")
|
|
305
163
|
|
|
306
|
-
def
|
|
164
|
+
def _parse_parent_id(data: object) -> Union[None, str]:
|
|
307
165
|
if data is None:
|
|
308
166
|
return data
|
|
309
167
|
return cast(Union[None, str], data)
|
|
310
168
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
in_trash = d.pop("inTrash")
|
|
169
|
+
parent_id = _parse_parent_id(d.pop("parentId"))
|
|
314
170
|
|
|
315
|
-
|
|
171
|
+
dartboard = d.pop("dartboard")
|
|
316
172
|
|
|
317
|
-
|
|
173
|
+
type_ = d.pop("type")
|
|
318
174
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
kind_duid = d.pop("kindDuid")
|
|
322
|
-
|
|
323
|
-
title = d.pop("title")
|
|
175
|
+
status = d.pop("status")
|
|
324
176
|
|
|
325
177
|
description = d.pop("description")
|
|
326
178
|
|
|
327
|
-
|
|
328
|
-
if data is None:
|
|
329
|
-
return data
|
|
330
|
-
try:
|
|
331
|
-
if not isinstance(data, dict):
|
|
332
|
-
raise TypeError()
|
|
333
|
-
notion_document_type_0 = TaskNotionDocument.from_dict(data)
|
|
179
|
+
assignees = cast(list[str], d.pop("assignees", UNSET))
|
|
334
180
|
|
|
335
|
-
|
|
336
|
-
except: # noqa: E722
|
|
337
|
-
pass
|
|
338
|
-
return cast(Union["TaskNotionDocument", None], data)
|
|
339
|
-
|
|
340
|
-
notion_document = _parse_notion_document(d.pop("notionDocument"))
|
|
341
|
-
|
|
342
|
-
status_duid = d.pop("statusDuid")
|
|
343
|
-
|
|
344
|
-
assigned_to_ai = d.pop("assignedToAi")
|
|
345
|
-
|
|
346
|
-
def _parse_recommendation_duid(data: object) -> Union[None, str]:
|
|
181
|
+
def _parse_assignee(data: object) -> Union[None, Unset, str]:
|
|
347
182
|
if data is None:
|
|
348
183
|
return data
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid"))
|
|
352
|
-
|
|
353
|
-
assignee_duids = cast(List[str], d.pop("assigneeDuids"))
|
|
354
|
-
|
|
355
|
-
subscriber_duids = cast(List[str], d.pop("subscriberDuids"))
|
|
356
|
-
|
|
357
|
-
tag_duids = cast(List[str], d.pop("tagDuids"))
|
|
358
|
-
|
|
359
|
-
links = []
|
|
360
|
-
_links = d.pop("links")
|
|
361
|
-
for links_item_data in _links:
|
|
362
|
-
links_item = TaskLink.from_dict(links_item_data)
|
|
363
|
-
|
|
364
|
-
links.append(links_item)
|
|
365
|
-
|
|
366
|
-
attachment_duids = cast(List[str], d.pop("attachmentDuids"))
|
|
367
|
-
|
|
368
|
-
relationships = []
|
|
369
|
-
_relationships = d.pop("relationships")
|
|
370
|
-
for relationships_item_data in _relationships:
|
|
371
|
-
relationships_item = Relationship.from_dict(relationships_item_data)
|
|
372
|
-
|
|
373
|
-
relationships.append(relationships_item)
|
|
374
|
-
|
|
375
|
-
def _parse_priority(data: object) -> Union[None, Priority]:
|
|
376
|
-
if data is None:
|
|
184
|
+
if isinstance(data, Unset):
|
|
377
185
|
return data
|
|
378
|
-
|
|
379
|
-
if not isinstance(data, str):
|
|
380
|
-
raise TypeError()
|
|
381
|
-
priority_type_0 = Priority(data)
|
|
186
|
+
return cast(Union[None, Unset, str], data)
|
|
382
187
|
|
|
383
|
-
|
|
384
|
-
except: # noqa: E722
|
|
385
|
-
pass
|
|
386
|
-
return cast(Union[None, Priority], data)
|
|
188
|
+
assignee = _parse_assignee(d.pop("assignee", UNSET))
|
|
387
189
|
|
|
388
|
-
|
|
190
|
+
tags = cast(list[str], d.pop("tags", UNSET))
|
|
389
191
|
|
|
390
|
-
def
|
|
192
|
+
def _parse_priority(data: object) -> Union[None, Priority, Unset]:
|
|
391
193
|
if data is None:
|
|
392
194
|
return data
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
size = _parse_size(d.pop("size"))
|
|
396
|
-
|
|
397
|
-
def _parse_start_at(data: object) -> Union[None, datetime.datetime]:
|
|
398
|
-
if data is None:
|
|
195
|
+
if isinstance(data, Unset):
|
|
399
196
|
return data
|
|
400
197
|
try:
|
|
401
198
|
if not isinstance(data, str):
|
|
402
199
|
raise TypeError()
|
|
403
|
-
|
|
200
|
+
priority_type_0 = Priority(data)
|
|
404
201
|
|
|
405
|
-
return
|
|
202
|
+
return priority_type_0
|
|
406
203
|
except: # noqa: E722
|
|
407
204
|
pass
|
|
408
|
-
return cast(Union[None,
|
|
205
|
+
return cast(Union[None, Priority, Unset], data)
|
|
409
206
|
|
|
410
|
-
|
|
207
|
+
priority = _parse_priority(d.pop("priority", UNSET))
|
|
411
208
|
|
|
412
|
-
def
|
|
209
|
+
def _parse_start_at(data: object) -> Union[None, Unset, str]:
|
|
413
210
|
if data is None:
|
|
414
211
|
return data
|
|
415
|
-
|
|
416
|
-
if not isinstance(data, str):
|
|
417
|
-
raise TypeError()
|
|
418
|
-
due_at_type_0 = isoparse(data)
|
|
419
|
-
|
|
420
|
-
return due_at_type_0
|
|
421
|
-
except: # noqa: E722
|
|
422
|
-
pass
|
|
423
|
-
return cast(Union[None, datetime.datetime], data)
|
|
424
|
-
|
|
425
|
-
due_at = _parse_due_at(d.pop("dueAt"))
|
|
426
|
-
|
|
427
|
-
time_tracking = d.pop("timeTracking")
|
|
428
|
-
|
|
429
|
-
def _parse_remind_at(data: object) -> Union[None, datetime.datetime]:
|
|
430
|
-
if data is None:
|
|
212
|
+
if isinstance(data, Unset):
|
|
431
213
|
return data
|
|
432
|
-
|
|
433
|
-
if not isinstance(data, str):
|
|
434
|
-
raise TypeError()
|
|
435
|
-
remind_at_type_0 = isoparse(data)
|
|
436
|
-
|
|
437
|
-
return remind_at_type_0
|
|
438
|
-
except: # noqa: E722
|
|
439
|
-
pass
|
|
440
|
-
return cast(Union[None, datetime.datetime], data)
|
|
214
|
+
return cast(Union[None, Unset, str], data)
|
|
441
215
|
|
|
442
|
-
|
|
216
|
+
start_at = _parse_start_at(d.pop("startAt", UNSET))
|
|
443
217
|
|
|
444
|
-
def
|
|
218
|
+
def _parse_due_at(data: object) -> Union[None, Unset, str]:
|
|
445
219
|
if data is None:
|
|
446
220
|
return data
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
recurrence = _parse_recurrence(d.pop("recurrence"))
|
|
450
|
-
|
|
451
|
-
def _parse_recurs_next_at(data: object) -> Union[None, datetime.datetime]:
|
|
452
|
-
if data is None:
|
|
221
|
+
if isinstance(data, Unset):
|
|
453
222
|
return data
|
|
454
|
-
|
|
455
|
-
if not isinstance(data, str):
|
|
456
|
-
raise TypeError()
|
|
457
|
-
recurs_next_at_type_0 = isoparse(data)
|
|
458
|
-
|
|
459
|
-
return recurs_next_at_type_0
|
|
460
|
-
except: # noqa: E722
|
|
461
|
-
pass
|
|
462
|
-
return cast(Union[None, datetime.datetime], data)
|
|
463
|
-
|
|
464
|
-
recurs_next_at = _parse_recurs_next_at(d.pop("recursNextAt"))
|
|
223
|
+
return cast(Union[None, Unset, str], data)
|
|
465
224
|
|
|
466
|
-
|
|
225
|
+
due_at = _parse_due_at(d.pop("dueAt", UNSET))
|
|
467
226
|
|
|
468
|
-
def
|
|
227
|
+
def _parse_size(data: object) -> Union[None, Unset, int]:
|
|
469
228
|
if data is None:
|
|
470
229
|
return data
|
|
471
230
|
if isinstance(data, Unset):
|
|
472
231
|
return data
|
|
473
|
-
return cast(Union[None, Unset,
|
|
232
|
+
return cast(Union[None, Unset, int], data)
|
|
474
233
|
|
|
475
|
-
|
|
234
|
+
size = _parse_size(d.pop("size", UNSET))
|
|
235
|
+
|
|
236
|
+
time_tracking = d.pop("timeTracking", UNSET)
|
|
476
237
|
|
|
477
238
|
task = cls(
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
created_at=created_at,
|
|
481
|
-
created_by_duid=created_by_duid,
|
|
482
|
-
updated_at=updated_at,
|
|
483
|
-
updated_by_duid=updated_by_duid,
|
|
484
|
-
drafter_duid=drafter_duid,
|
|
485
|
-
in_trash=in_trash,
|
|
486
|
-
dartboard_duid=dartboard_duid,
|
|
487
|
-
order=order,
|
|
488
|
-
expanded=expanded,
|
|
489
|
-
kind_duid=kind_duid,
|
|
239
|
+
id=id,
|
|
240
|
+
html_url=html_url,
|
|
490
241
|
title=title,
|
|
242
|
+
parent_id=parent_id,
|
|
243
|
+
dartboard=dartboard,
|
|
244
|
+
type_=type_,
|
|
245
|
+
status=status,
|
|
491
246
|
description=description,
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
recommendation_duid=recommendation_duid,
|
|
496
|
-
assignee_duids=assignee_duids,
|
|
497
|
-
subscriber_duids=subscriber_duids,
|
|
498
|
-
tag_duids=tag_duids,
|
|
499
|
-
links=links,
|
|
500
|
-
attachment_duids=attachment_duids,
|
|
501
|
-
relationships=relationships,
|
|
247
|
+
assignees=assignees,
|
|
248
|
+
assignee=assignee,
|
|
249
|
+
tags=tags,
|
|
502
250
|
priority=priority,
|
|
503
|
-
size=size,
|
|
504
251
|
start_at=start_at,
|
|
505
252
|
due_at=due_at,
|
|
253
|
+
size=size,
|
|
506
254
|
time_tracking=time_tracking,
|
|
507
|
-
remind_at=remind_at,
|
|
508
|
-
recurrence=recurrence,
|
|
509
|
-
recurs_next_at=recurs_next_at,
|
|
510
|
-
properties=properties,
|
|
511
|
-
updated_by_client_duid=updated_by_client_duid,
|
|
512
255
|
)
|
|
513
256
|
|
|
514
257
|
task.additional_properties = d
|
|
515
258
|
return task
|
|
516
259
|
|
|
517
260
|
@property
|
|
518
|
-
def additional_keys(self) ->
|
|
261
|
+
def additional_keys(self) -> list[str]:
|
|
519
262
|
return list(self.additional_properties.keys())
|
|
520
263
|
|
|
521
264
|
def __getitem__(self, key: str) -> Any:
|