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
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..models.priority import Priority
|
|
8
|
+
from ..types import UNSET, Unset
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="ConciseTask")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class ConciseTask:
|
|
15
|
+
"""This concise task serializer is going to be used in tasks listing view only.
|
|
16
|
+
|
|
17
|
+
Attributes:
|
|
18
|
+
id (str): The universal, unique ID of the task.
|
|
19
|
+
html_url (str): The URL that can be used to open the task in the Dart web UI.
|
|
20
|
+
title (str): The title, which is a short description of what needs to be done.
|
|
21
|
+
parent_id (Union[None, str]): The universal, unique ID of the parent task. This can be null.
|
|
22
|
+
dartboard (str): The full title of the dartboard, which is a project or list of tasks.
|
|
23
|
+
type_ (str): The title of the type of the task.
|
|
24
|
+
status (str): The status from the list of available statuses.
|
|
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).
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
id: str
|
|
45
|
+
html_url: str
|
|
46
|
+
title: str
|
|
47
|
+
parent_id: Union[None, str]
|
|
48
|
+
dartboard: str
|
|
49
|
+
type_: str
|
|
50
|
+
status: str
|
|
51
|
+
assignees: Union[Unset, list[str]] = UNSET
|
|
52
|
+
assignee: Union[None, Unset, str] = UNSET
|
|
53
|
+
tags: Union[Unset, list[str]] = UNSET
|
|
54
|
+
priority: Union[None, Priority, Unset] = UNSET
|
|
55
|
+
start_at: Union[None, Unset, str] = UNSET
|
|
56
|
+
due_at: Union[None, Unset, str] = UNSET
|
|
57
|
+
size: Union[None, Unset, int] = UNSET
|
|
58
|
+
time_tracking: Union[Unset, str] = UNSET
|
|
59
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
60
|
+
|
|
61
|
+
def to_dict(self) -> dict[str, Any]:
|
|
62
|
+
id = self.id
|
|
63
|
+
|
|
64
|
+
html_url = self.html_url
|
|
65
|
+
|
|
66
|
+
title = self.title
|
|
67
|
+
|
|
68
|
+
parent_id: Union[None, str]
|
|
69
|
+
parent_id = self.parent_id
|
|
70
|
+
|
|
71
|
+
dartboard = self.dartboard
|
|
72
|
+
|
|
73
|
+
type_ = self.type_
|
|
74
|
+
|
|
75
|
+
status = self.status
|
|
76
|
+
|
|
77
|
+
assignees: Union[Unset, list[str]] = UNSET
|
|
78
|
+
if not isinstance(self.assignees, Unset):
|
|
79
|
+
assignees = self.assignees
|
|
80
|
+
|
|
81
|
+
assignee: Union[None, Unset, str]
|
|
82
|
+
if isinstance(self.assignee, Unset):
|
|
83
|
+
assignee = UNSET
|
|
84
|
+
else:
|
|
85
|
+
assignee = self.assignee
|
|
86
|
+
|
|
87
|
+
tags: Union[Unset, list[str]] = UNSET
|
|
88
|
+
if not isinstance(self.tags, Unset):
|
|
89
|
+
tags = self.tags
|
|
90
|
+
|
|
91
|
+
priority: Union[None, Unset, str]
|
|
92
|
+
if isinstance(self.priority, Unset):
|
|
93
|
+
priority = UNSET
|
|
94
|
+
elif isinstance(self.priority, Priority):
|
|
95
|
+
priority = self.priority.value
|
|
96
|
+
else:
|
|
97
|
+
priority = self.priority
|
|
98
|
+
|
|
99
|
+
start_at: Union[None, Unset, str]
|
|
100
|
+
if isinstance(self.start_at, Unset):
|
|
101
|
+
start_at = UNSET
|
|
102
|
+
else:
|
|
103
|
+
start_at = self.start_at
|
|
104
|
+
|
|
105
|
+
due_at: Union[None, Unset, str]
|
|
106
|
+
if isinstance(self.due_at, Unset):
|
|
107
|
+
due_at = UNSET
|
|
108
|
+
else:
|
|
109
|
+
due_at = self.due_at
|
|
110
|
+
|
|
111
|
+
size: Union[None, Unset, int]
|
|
112
|
+
if isinstance(self.size, Unset):
|
|
113
|
+
size = UNSET
|
|
114
|
+
else:
|
|
115
|
+
size = self.size
|
|
116
|
+
|
|
117
|
+
time_tracking = self.time_tracking
|
|
118
|
+
|
|
119
|
+
field_dict: dict[str, Any] = {}
|
|
120
|
+
field_dict.update(self.additional_properties)
|
|
121
|
+
field_dict.update(
|
|
122
|
+
{
|
|
123
|
+
"id": id,
|
|
124
|
+
"htmlUrl": html_url,
|
|
125
|
+
"title": title,
|
|
126
|
+
"parentId": parent_id,
|
|
127
|
+
"dartboard": dartboard,
|
|
128
|
+
"type": type_,
|
|
129
|
+
"status": status,
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
if assignees is not UNSET:
|
|
133
|
+
field_dict["assignees"] = assignees
|
|
134
|
+
if assignee is not UNSET:
|
|
135
|
+
field_dict["assignee"] = assignee
|
|
136
|
+
if tags is not UNSET:
|
|
137
|
+
field_dict["tags"] = tags
|
|
138
|
+
if priority is not UNSET:
|
|
139
|
+
field_dict["priority"] = priority
|
|
140
|
+
if start_at is not UNSET:
|
|
141
|
+
field_dict["startAt"] = start_at
|
|
142
|
+
if due_at is not UNSET:
|
|
143
|
+
field_dict["dueAt"] = due_at
|
|
144
|
+
if size is not UNSET:
|
|
145
|
+
field_dict["size"] = size
|
|
146
|
+
if time_tracking is not UNSET:
|
|
147
|
+
field_dict["timeTracking"] = time_tracking
|
|
148
|
+
|
|
149
|
+
return field_dict
|
|
150
|
+
|
|
151
|
+
@classmethod
|
|
152
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
153
|
+
d = dict(src_dict)
|
|
154
|
+
id = d.pop("id")
|
|
155
|
+
|
|
156
|
+
html_url = d.pop("htmlUrl")
|
|
157
|
+
|
|
158
|
+
title = d.pop("title")
|
|
159
|
+
|
|
160
|
+
def _parse_parent_id(data: object) -> Union[None, str]:
|
|
161
|
+
if data is None:
|
|
162
|
+
return data
|
|
163
|
+
return cast(Union[None, str], data)
|
|
164
|
+
|
|
165
|
+
parent_id = _parse_parent_id(d.pop("parentId"))
|
|
166
|
+
|
|
167
|
+
dartboard = d.pop("dartboard")
|
|
168
|
+
|
|
169
|
+
type_ = d.pop("type")
|
|
170
|
+
|
|
171
|
+
status = d.pop("status")
|
|
172
|
+
|
|
173
|
+
assignees = cast(list[str], d.pop("assignees", UNSET))
|
|
174
|
+
|
|
175
|
+
def _parse_assignee(data: object) -> Union[None, Unset, str]:
|
|
176
|
+
if data is None:
|
|
177
|
+
return data
|
|
178
|
+
if isinstance(data, Unset):
|
|
179
|
+
return data
|
|
180
|
+
return cast(Union[None, Unset, str], data)
|
|
181
|
+
|
|
182
|
+
assignee = _parse_assignee(d.pop("assignee", UNSET))
|
|
183
|
+
|
|
184
|
+
tags = cast(list[str], d.pop("tags", UNSET))
|
|
185
|
+
|
|
186
|
+
def _parse_priority(data: object) -> Union[None, Priority, Unset]:
|
|
187
|
+
if data is None:
|
|
188
|
+
return data
|
|
189
|
+
if isinstance(data, Unset):
|
|
190
|
+
return data
|
|
191
|
+
try:
|
|
192
|
+
if not isinstance(data, str):
|
|
193
|
+
raise TypeError()
|
|
194
|
+
priority_type_0 = Priority(data)
|
|
195
|
+
|
|
196
|
+
return priority_type_0
|
|
197
|
+
except: # noqa: E722
|
|
198
|
+
pass
|
|
199
|
+
return cast(Union[None, Priority, Unset], data)
|
|
200
|
+
|
|
201
|
+
priority = _parse_priority(d.pop("priority", UNSET))
|
|
202
|
+
|
|
203
|
+
def _parse_start_at(data: object) -> Union[None, Unset, str]:
|
|
204
|
+
if data is None:
|
|
205
|
+
return data
|
|
206
|
+
if isinstance(data, Unset):
|
|
207
|
+
return data
|
|
208
|
+
return cast(Union[None, Unset, str], data)
|
|
209
|
+
|
|
210
|
+
start_at = _parse_start_at(d.pop("startAt", UNSET))
|
|
211
|
+
|
|
212
|
+
def _parse_due_at(data: object) -> Union[None, Unset, str]:
|
|
213
|
+
if data is None:
|
|
214
|
+
return data
|
|
215
|
+
if isinstance(data, Unset):
|
|
216
|
+
return data
|
|
217
|
+
return cast(Union[None, Unset, str], data)
|
|
218
|
+
|
|
219
|
+
due_at = _parse_due_at(d.pop("dueAt", UNSET))
|
|
220
|
+
|
|
221
|
+
def _parse_size(data: object) -> Union[None, Unset, int]:
|
|
222
|
+
if data is None:
|
|
223
|
+
return data
|
|
224
|
+
if isinstance(data, Unset):
|
|
225
|
+
return data
|
|
226
|
+
return cast(Union[None, Unset, int], data)
|
|
227
|
+
|
|
228
|
+
size = _parse_size(d.pop("size", UNSET))
|
|
229
|
+
|
|
230
|
+
time_tracking = d.pop("timeTracking", UNSET)
|
|
231
|
+
|
|
232
|
+
concise_task = cls(
|
|
233
|
+
id=id,
|
|
234
|
+
html_url=html_url,
|
|
235
|
+
title=title,
|
|
236
|
+
parent_id=parent_id,
|
|
237
|
+
dartboard=dartboard,
|
|
238
|
+
type_=type_,
|
|
239
|
+
status=status,
|
|
240
|
+
assignees=assignees,
|
|
241
|
+
assignee=assignee,
|
|
242
|
+
tags=tags,
|
|
243
|
+
priority=priority,
|
|
244
|
+
start_at=start_at,
|
|
245
|
+
due_at=due_at,
|
|
246
|
+
size=size,
|
|
247
|
+
time_tracking=time_tracking,
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
concise_task.additional_properties = d
|
|
251
|
+
return concise_task
|
|
252
|
+
|
|
253
|
+
@property
|
|
254
|
+
def additional_keys(self) -> list[str]:
|
|
255
|
+
return list(self.additional_properties.keys())
|
|
256
|
+
|
|
257
|
+
def __getitem__(self, key: str) -> Any:
|
|
258
|
+
return self.additional_properties[key]
|
|
259
|
+
|
|
260
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
261
|
+
self.additional_properties[key] = value
|
|
262
|
+
|
|
263
|
+
def __delitem__(self, key: str) -> None:
|
|
264
|
+
del self.additional_properties[key]
|
|
265
|
+
|
|
266
|
+
def __contains__(self, key: str) -> bool:
|
|
267
|
+
return key in self.additional_properties
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
from typing import TYPE_CHECKING, Any,
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
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
|
-
|
|
8
|
-
from ..models.dartboard_kind import DartboardKind
|
|
9
|
-
from ..models.icon_kind import IconKind
|
|
10
|
-
from ..types import UNSET, Unset
|
|
11
6
|
|
|
12
7
|
if TYPE_CHECKING:
|
|
13
|
-
from ..models.
|
|
8
|
+
from ..models.task import Task
|
|
14
9
|
|
|
15
10
|
|
|
16
11
|
T = TypeVar("T", bound="Dartboard")
|
|
@@ -20,276 +15,81 @@ T = TypeVar("T", bound="Dartboard")
|
|
|
20
15
|
class Dartboard:
|
|
21
16
|
"""
|
|
22
17
|
Attributes:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* `Finished` - FINISHED
|
|
29
|
-
* `Custom` - CUSTOM
|
|
30
|
-
order (str):
|
|
31
|
-
title (str):
|
|
32
|
-
description (str):
|
|
33
|
-
icon_kind (IconKind): * `None` - NONE
|
|
34
|
-
* `Icon` - ICON
|
|
35
|
-
* `Emoji` - EMOJI
|
|
36
|
-
icon_name_or_emoji (str):
|
|
37
|
-
color_hex (str):
|
|
38
|
-
user_duids_to_layout_duids (List['UserDartboardLayout']):
|
|
39
|
-
index (Union[None, int]):
|
|
40
|
-
started_at (Union[None, datetime.datetime]):
|
|
41
|
-
finished_at (Union[None, datetime.datetime]):
|
|
42
|
-
planned_finish_at (Union[None, datetime.datetime]):
|
|
43
|
-
default_property_map (Any):
|
|
44
|
-
always_shown_property_duids (List[str]):
|
|
45
|
-
always_hidden_property_duids (List[str]):
|
|
46
|
-
property_order_duids (List[str]):
|
|
47
|
-
property_width_map (Any):
|
|
48
|
-
updated_by_client_duid (Union[None, Unset, str]):
|
|
18
|
+
id (str): The universal, unique ID of the dartboard.
|
|
19
|
+
html_url (str): The URL that can be used to open the dartboard in the Dart web UI.
|
|
20
|
+
title (str): The title, which is a short description of the dartboard.
|
|
21
|
+
description (str): The description, which is a longer description of the dartboard.
|
|
22
|
+
tasks (list['Task']): The list of all of the tasks in the dartboard.
|
|
49
23
|
"""
|
|
50
24
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
kind: DartboardKind
|
|
54
|
-
order: str
|
|
25
|
+
id: str
|
|
26
|
+
html_url: str
|
|
55
27
|
title: str
|
|
56
28
|
description: str
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
color_hex: str
|
|
60
|
-
user_duids_to_layout_duids: List["UserDartboardLayout"]
|
|
61
|
-
index: Union[None, int]
|
|
62
|
-
started_at: Union[None, datetime.datetime]
|
|
63
|
-
finished_at: Union[None, datetime.datetime]
|
|
64
|
-
planned_finish_at: Union[None, datetime.datetime]
|
|
65
|
-
default_property_map: Any
|
|
66
|
-
always_shown_property_duids: List[str]
|
|
67
|
-
always_hidden_property_duids: List[str]
|
|
68
|
-
property_order_duids: List[str]
|
|
69
|
-
property_width_map: Any
|
|
70
|
-
updated_by_client_duid: Union[None, Unset, str] = UNSET
|
|
71
|
-
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
72
|
-
|
|
73
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
74
|
-
duid = self.duid
|
|
75
|
-
|
|
76
|
-
space_duid = self.space_duid
|
|
29
|
+
tasks: list["Task"]
|
|
30
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
77
31
|
|
|
78
|
-
|
|
32
|
+
def to_dict(self) -> dict[str, Any]:
|
|
33
|
+
id = self.id
|
|
79
34
|
|
|
80
|
-
|
|
35
|
+
html_url = self.html_url
|
|
81
36
|
|
|
82
37
|
title = self.title
|
|
83
38
|
|
|
84
39
|
description = self.description
|
|
85
40
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
color_hex = self.color_hex
|
|
91
|
-
|
|
92
|
-
user_duids_to_layout_duids = []
|
|
93
|
-
for user_duids_to_layout_duids_item_data in self.user_duids_to_layout_duids:
|
|
94
|
-
user_duids_to_layout_duids_item = user_duids_to_layout_duids_item_data.to_dict()
|
|
95
|
-
user_duids_to_layout_duids.append(user_duids_to_layout_duids_item)
|
|
96
|
-
|
|
97
|
-
index: Union[None, int]
|
|
98
|
-
index = self.index
|
|
99
|
-
|
|
100
|
-
started_at: Union[None, str]
|
|
101
|
-
if isinstance(self.started_at, datetime.datetime):
|
|
102
|
-
started_at = self.started_at.isoformat()
|
|
103
|
-
else:
|
|
104
|
-
started_at = self.started_at
|
|
105
|
-
|
|
106
|
-
finished_at: Union[None, str]
|
|
107
|
-
if isinstance(self.finished_at, datetime.datetime):
|
|
108
|
-
finished_at = self.finished_at.isoformat()
|
|
109
|
-
else:
|
|
110
|
-
finished_at = self.finished_at
|
|
111
|
-
|
|
112
|
-
planned_finish_at: Union[None, str]
|
|
113
|
-
if isinstance(self.planned_finish_at, datetime.datetime):
|
|
114
|
-
planned_finish_at = self.planned_finish_at.isoformat()
|
|
115
|
-
else:
|
|
116
|
-
planned_finish_at = self.planned_finish_at
|
|
41
|
+
tasks = []
|
|
42
|
+
for tasks_item_data in self.tasks:
|
|
43
|
+
tasks_item = tasks_item_data.to_dict()
|
|
44
|
+
tasks.append(tasks_item)
|
|
117
45
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
always_shown_property_duids = self.always_shown_property_duids
|
|
121
|
-
|
|
122
|
-
always_hidden_property_duids = self.always_hidden_property_duids
|
|
123
|
-
|
|
124
|
-
property_order_duids = self.property_order_duids
|
|
125
|
-
|
|
126
|
-
property_width_map = self.property_width_map
|
|
127
|
-
|
|
128
|
-
updated_by_client_duid: Union[None, Unset, str]
|
|
129
|
-
if isinstance(self.updated_by_client_duid, Unset):
|
|
130
|
-
updated_by_client_duid = UNSET
|
|
131
|
-
else:
|
|
132
|
-
updated_by_client_duid = self.updated_by_client_duid
|
|
133
|
-
|
|
134
|
-
field_dict: Dict[str, Any] = {}
|
|
46
|
+
field_dict: dict[str, Any] = {}
|
|
135
47
|
field_dict.update(self.additional_properties)
|
|
136
48
|
field_dict.update(
|
|
137
49
|
{
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"kind": kind,
|
|
141
|
-
"order": order,
|
|
50
|
+
"id": id,
|
|
51
|
+
"htmlUrl": html_url,
|
|
142
52
|
"title": title,
|
|
143
53
|
"description": description,
|
|
144
|
-
"
|
|
145
|
-
"iconNameOrEmoji": icon_name_or_emoji,
|
|
146
|
-
"colorHex": color_hex,
|
|
147
|
-
"userDuidsToLayoutDuids": user_duids_to_layout_duids,
|
|
148
|
-
"index": index,
|
|
149
|
-
"startedAt": started_at,
|
|
150
|
-
"finishedAt": finished_at,
|
|
151
|
-
"plannedFinishAt": planned_finish_at,
|
|
152
|
-
"defaultPropertyMap": default_property_map,
|
|
153
|
-
"alwaysShownPropertyDuids": always_shown_property_duids,
|
|
154
|
-
"alwaysHiddenPropertyDuids": always_hidden_property_duids,
|
|
155
|
-
"propertyOrderDuids": property_order_duids,
|
|
156
|
-
"propertyWidthMap": property_width_map,
|
|
54
|
+
"tasks": tasks,
|
|
157
55
|
}
|
|
158
56
|
)
|
|
159
|
-
if updated_by_client_duid is not UNSET:
|
|
160
|
-
field_dict["updatedByClientDuid"] = updated_by_client_duid
|
|
161
57
|
|
|
162
58
|
return field_dict
|
|
163
59
|
|
|
164
60
|
@classmethod
|
|
165
|
-
def from_dict(cls:
|
|
166
|
-
from ..models.
|
|
167
|
-
|
|
168
|
-
d = src_dict.copy()
|
|
169
|
-
duid = d.pop("duid")
|
|
170
|
-
|
|
171
|
-
space_duid = d.pop("spaceDuid")
|
|
61
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
62
|
+
from ..models.task import Task
|
|
172
63
|
|
|
173
|
-
|
|
64
|
+
d = dict(src_dict)
|
|
65
|
+
id = d.pop("id")
|
|
174
66
|
|
|
175
|
-
|
|
67
|
+
html_url = d.pop("htmlUrl")
|
|
176
68
|
|
|
177
69
|
title = d.pop("title")
|
|
178
70
|
|
|
179
71
|
description = d.pop("description")
|
|
180
72
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
color_hex = d.pop("colorHex")
|
|
186
|
-
|
|
187
|
-
user_duids_to_layout_duids = []
|
|
188
|
-
_user_duids_to_layout_duids = d.pop("userDuidsToLayoutDuids")
|
|
189
|
-
for user_duids_to_layout_duids_item_data in _user_duids_to_layout_duids:
|
|
190
|
-
user_duids_to_layout_duids_item = UserDartboardLayout.from_dict(user_duids_to_layout_duids_item_data)
|
|
191
|
-
|
|
192
|
-
user_duids_to_layout_duids.append(user_duids_to_layout_duids_item)
|
|
193
|
-
|
|
194
|
-
def _parse_index(data: object) -> Union[None, int]:
|
|
195
|
-
if data is None:
|
|
196
|
-
return data
|
|
197
|
-
return cast(Union[None, int], data)
|
|
198
|
-
|
|
199
|
-
index = _parse_index(d.pop("index"))
|
|
200
|
-
|
|
201
|
-
def _parse_started_at(data: object) -> Union[None, datetime.datetime]:
|
|
202
|
-
if data is None:
|
|
203
|
-
return data
|
|
204
|
-
try:
|
|
205
|
-
if not isinstance(data, str):
|
|
206
|
-
raise TypeError()
|
|
207
|
-
started_at_type_0 = isoparse(data)
|
|
208
|
-
|
|
209
|
-
return started_at_type_0
|
|
210
|
-
except: # noqa: E722
|
|
211
|
-
pass
|
|
212
|
-
return cast(Union[None, datetime.datetime], data)
|
|
213
|
-
|
|
214
|
-
started_at = _parse_started_at(d.pop("startedAt"))
|
|
215
|
-
|
|
216
|
-
def _parse_finished_at(data: object) -> Union[None, datetime.datetime]:
|
|
217
|
-
if data is None:
|
|
218
|
-
return data
|
|
219
|
-
try:
|
|
220
|
-
if not isinstance(data, str):
|
|
221
|
-
raise TypeError()
|
|
222
|
-
finished_at_type_0 = isoparse(data)
|
|
223
|
-
|
|
224
|
-
return finished_at_type_0
|
|
225
|
-
except: # noqa: E722
|
|
226
|
-
pass
|
|
227
|
-
return cast(Union[None, datetime.datetime], data)
|
|
228
|
-
|
|
229
|
-
finished_at = _parse_finished_at(d.pop("finishedAt"))
|
|
230
|
-
|
|
231
|
-
def _parse_planned_finish_at(data: object) -> Union[None, datetime.datetime]:
|
|
232
|
-
if data is None:
|
|
233
|
-
return data
|
|
234
|
-
try:
|
|
235
|
-
if not isinstance(data, str):
|
|
236
|
-
raise TypeError()
|
|
237
|
-
planned_finish_at_type_0 = isoparse(data)
|
|
238
|
-
|
|
239
|
-
return planned_finish_at_type_0
|
|
240
|
-
except: # noqa: E722
|
|
241
|
-
pass
|
|
242
|
-
return cast(Union[None, datetime.datetime], data)
|
|
243
|
-
|
|
244
|
-
planned_finish_at = _parse_planned_finish_at(d.pop("plannedFinishAt"))
|
|
245
|
-
|
|
246
|
-
default_property_map = d.pop("defaultPropertyMap")
|
|
247
|
-
|
|
248
|
-
always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids"))
|
|
249
|
-
|
|
250
|
-
always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids"))
|
|
251
|
-
|
|
252
|
-
property_order_duids = cast(List[str], d.pop("propertyOrderDuids"))
|
|
253
|
-
|
|
254
|
-
property_width_map = d.pop("propertyWidthMap")
|
|
255
|
-
|
|
256
|
-
def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
|
|
257
|
-
if data is None:
|
|
258
|
-
return data
|
|
259
|
-
if isinstance(data, Unset):
|
|
260
|
-
return data
|
|
261
|
-
return cast(Union[None, Unset, str], data)
|
|
73
|
+
tasks = []
|
|
74
|
+
_tasks = d.pop("tasks")
|
|
75
|
+
for tasks_item_data in _tasks:
|
|
76
|
+
tasks_item = Task.from_dict(tasks_item_data)
|
|
262
77
|
|
|
263
|
-
|
|
78
|
+
tasks.append(tasks_item)
|
|
264
79
|
|
|
265
80
|
dartboard = cls(
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
kind=kind,
|
|
269
|
-
order=order,
|
|
81
|
+
id=id,
|
|
82
|
+
html_url=html_url,
|
|
270
83
|
title=title,
|
|
271
84
|
description=description,
|
|
272
|
-
|
|
273
|
-
icon_name_or_emoji=icon_name_or_emoji,
|
|
274
|
-
color_hex=color_hex,
|
|
275
|
-
user_duids_to_layout_duids=user_duids_to_layout_duids,
|
|
276
|
-
index=index,
|
|
277
|
-
started_at=started_at,
|
|
278
|
-
finished_at=finished_at,
|
|
279
|
-
planned_finish_at=planned_finish_at,
|
|
280
|
-
default_property_map=default_property_map,
|
|
281
|
-
always_shown_property_duids=always_shown_property_duids,
|
|
282
|
-
always_hidden_property_duids=always_hidden_property_duids,
|
|
283
|
-
property_order_duids=property_order_duids,
|
|
284
|
-
property_width_map=property_width_map,
|
|
285
|
-
updated_by_client_duid=updated_by_client_duid,
|
|
85
|
+
tasks=tasks,
|
|
286
86
|
)
|
|
287
87
|
|
|
288
88
|
dartboard.additional_properties = d
|
|
289
89
|
return dartboard
|
|
290
90
|
|
|
291
91
|
@property
|
|
292
|
-
def additional_keys(self) ->
|
|
92
|
+
def additional_keys(self) -> list[str]:
|
|
293
93
|
return list(self.additional_properties.keys())
|
|
294
94
|
|
|
295
95
|
def __getitem__(self, key: str) -> Any:
|