dart-tools 0.6.16__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.

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