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="TaskCreate")
@@ -16,181 +14,77 @@ T = TypeVar("T", bound="TaskCreate")
16
14
  class TaskCreate:
17
15
  """
18
16
  Attributes:
19
- duid (Union[Unset, 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
+ title (str): The title, which is a short description of what needs to be done.
18
+ parent_id (Union[None, Unset, str]): The universal, unique ID of the parent task. This can be null.
19
+ dartboard (Union[Unset, str]): The full title of the dartboard, which is a project or list of tasks.
20
+ type_ (Union[Unset, str]): The title of the type of the task.
21
+ status (Union[Unset, str]): The status from the list of available statuses.
22
+ description (Union[Unset, str]): A longer description of the task, which can include markdown formatting.
23
+ assignees (Union[Unset, list[str]]): The names or emails of the users that the task is assigned to. Either this
24
+ or assignee must be included, depending on whether the workspaces allows multiple assignees or not.
25
+ assignee (Union[None, Unset, str]): The name or email of the user that the task is assigned to. Either this or
26
+ assignees must be included, depending on whether the workspaces allows multiple assignees or not.
27
+ tags (Union[Unset, list[str]]): Any tags that should be applied to the task, which can be used to filter and
28
+ search for tasks. Tags are also known as labels or components and are strings that can be anything, but should
29
+ be short and descriptive. This list can be empty.
30
+ priority (Union[None, Priority, Unset]): The priority, which is a string that can be one of the specified
31
+ options. This is used to sort tasks and determine which tasks should be done first.
32
+ start_at (Union[None, Unset, str]): The start date, which is a date and time that the task should be started by
33
+ in ISO format. It should be at 9:00am in the timezone of the user.
34
+ due_at (Union[None, Unset, str]): The due date, which is a date and time that the task should be completed by in
35
+ ISO format. It should be at 9:00am in the timezone of the user.
36
+ size (Union[None, Unset, int]): The size, which is a number that represents the amount of work that needs to be
37
+ done. This is used to determine how long the task will take to complete.
38
+ time_tracking (Union[Unset, str]): The time tracking, which is a string that indicates the amount of time spent
39
+ on the task in hh:mm:ss format (or an empty string if no time has been tracked).
74
40
  """
75
41
 
76
- duid: Union[Unset, str] = UNSET
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
89
- 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
42
+ title: str
43
+ parent_id: Union[None, Unset, str] = UNSET
44
+ dartboard: Union[Unset, str] = UNSET
45
+ type_: Union[Unset, str] = UNSET
46
+ status: Union[Unset, str] = UNSET
47
+ description: Union[Unset, str] = UNSET
48
+ assignees: Union[Unset, list[str]] = UNSET
49
+ assignee: Union[None, Unset, str] = UNSET
50
+ tags: Union[Unset, list[str]] = UNSET
99
51
  priority: Union[None, Priority, Unset] = UNSET
52
+ start_at: Union[None, Unset, str] = UNSET
53
+ due_at: Union[None, Unset, str] = UNSET
100
54
  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
122
-
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
128
-
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
55
+ time_tracking: Union[Unset, str] = UNSET
56
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
134
57
 
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
58
+ def to_dict(self) -> dict[str, Any]:
59
+ title = self.title
146
60
 
147
- drafter_duid: Union[None, Unset, str]
148
- if isinstance(self.drafter_duid, Unset):
149
- drafter_duid = UNSET
61
+ parent_id: Union[None, Unset, str]
62
+ if isinstance(self.parent_id, Unset):
63
+ parent_id = UNSET
150
64
  else:
151
- drafter_duid = self.drafter_duid
65
+ parent_id = self.parent_id
152
66
 
153
- in_trash = self.in_trash
67
+ dartboard = self.dartboard
154
68
 
155
- dartboard_duid = self.dartboard_duid
69
+ type_ = self.type_
156
70
 
157
- order = self.order
158
-
159
- expanded = self.expanded
160
-
161
- kind_duid = self.kind_duid
162
-
163
- title = self.title
71
+ status = self.status
164
72
 
165
73
  description = self.description
166
74
 
167
- description_markdown = self.description_markdown
168
-
169
- status_duid = self.status_duid
75
+ assignees: Union[Unset, list[str]] = UNSET
76
+ if not isinstance(self.assignees, Unset):
77
+ assignees = self.assignees
170
78
 
171
- assigned_to_ai = self.assigned_to_ai
172
-
173
- recommendation_duid: Union[None, Unset, str]
174
- if isinstance(self.recommendation_duid, Unset):
175
- recommendation_duid = UNSET
79
+ assignee: Union[None, Unset, str]
80
+ if isinstance(self.assignee, Unset):
81
+ assignee = UNSET
176
82
  else:
177
- recommendation_duid = self.recommendation_duid
178
-
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
83
+ assignee = self.assignee
190
84
 
191
- attachment_duids: Union[Unset, List[str]] = UNSET
192
- if not isinstance(self.attachment_duids, Unset):
193
- attachment_duids = self.attachment_duids
85
+ tags: Union[Unset, list[str]] = UNSET
86
+ if not isinstance(self.tags, Unset):
87
+ tags = self.tags
194
88
 
195
89
  priority: Union[None, Unset, str]
196
90
  if isinstance(self.priority, Unset):
@@ -200,226 +94,96 @@ class TaskCreate:
200
94
  else:
201
95
  priority = self.priority
202
96
 
203
- size: Union[None, Unset, int]
204
- if isinstance(self.size, Unset):
205
- size = UNSET
206
- else:
207
- size = self.size
208
-
209
97
  start_at: Union[None, Unset, str]
210
98
  if isinstance(self.start_at, Unset):
211
99
  start_at = UNSET
212
- elif isinstance(self.start_at, datetime.datetime):
213
- start_at = self.start_at.isoformat()
214
100
  else:
215
101
  start_at = self.start_at
216
102
 
217
103
  due_at: Union[None, Unset, str]
218
104
  if isinstance(self.due_at, Unset):
219
105
  due_at = UNSET
220
- elif isinstance(self.due_at, datetime.datetime):
221
- due_at = self.due_at.isoformat()
222
106
  else:
223
107
  due_at = self.due_at
224
108
 
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()
109
+ size: Union[None, Unset, int]
110
+ if isinstance(self.size, Unset):
111
+ size = UNSET
246
112
  else:
247
- recurs_next_at = self.recurs_next_at
113
+ size = self.size
248
114
 
249
- properties = self.properties
115
+ time_tracking = self.time_tracking
250
116
 
251
- field_dict: Dict[str, Any] = {}
117
+ field_dict: dict[str, Any] = {}
252
118
  field_dict.update(self.additional_properties)
253
- field_dict.update({})
254
- if duid is not UNSET:
255
- field_dict["duid"] = duid
256
- if source_type is not UNSET:
257
- field_dict["sourceType"] = source_type
258
- if source_template_view_duid is not UNSET:
259
- field_dict["sourceTemplateViewDuid"] = source_template_view_duid
260
- if source_template_task_duid is not UNSET:
261
- field_dict["sourceTemplateTaskDuid"] = source_template_task_duid
262
- if source_form_duid is not UNSET:
263
- field_dict["sourceFormDuid"] = source_form_duid
264
- if created_by_duid is not UNSET:
265
- field_dict["createdByDuid"] = created_by_duid
266
- if updated_by_duid is not UNSET:
267
- field_dict["updatedByDuid"] = updated_by_duid
268
- if drafter_duid is not UNSET:
269
- field_dict["drafterDuid"] = drafter_duid
270
- if in_trash is not UNSET:
271
- field_dict["inTrash"] = in_trash
272
- if dartboard_duid is not UNSET:
273
- field_dict["dartboardDuid"] = dartboard_duid
274
- if order is not UNSET:
275
- field_dict["order"] = order
276
- if expanded is not UNSET:
277
- field_dict["expanded"] = expanded
278
- if kind_duid is not UNSET:
279
- field_dict["kindDuid"] = kind_duid
280
- if title is not UNSET:
281
- field_dict["title"] = title
119
+ field_dict.update(
120
+ {
121
+ "title": title,
122
+ }
123
+ )
124
+ if parent_id is not UNSET:
125
+ field_dict["parentId"] = parent_id
126
+ if dartboard is not UNSET:
127
+ field_dict["dartboard"] = dartboard
128
+ if type_ is not UNSET:
129
+ field_dict["type"] = type_
130
+ if status is not UNSET:
131
+ field_dict["status"] = status
282
132
  if description is not UNSET:
283
133
  field_dict["description"] = description
284
- if description_markdown is not UNSET:
285
- field_dict["descriptionMarkdown"] = description_markdown
286
- if status_duid is not UNSET:
287
- field_dict["statusDuid"] = status_duid
288
- if assigned_to_ai is not UNSET:
289
- field_dict["assignedToAi"] = assigned_to_ai
290
- if recommendation_duid is not UNSET:
291
- field_dict["recommendationDuid"] = recommendation_duid
292
- if assignee_duids is not UNSET:
293
- field_dict["assigneeDuids"] = assignee_duids
294
- if subscriber_duids is not UNSET:
295
- field_dict["subscriberDuids"] = subscriber_duids
296
- if tag_duids is not UNSET:
297
- field_dict["tagDuids"] = tag_duids
298
- if attachment_duids is not UNSET:
299
- field_dict["attachmentDuids"] = attachment_duids
134
+ if assignees is not UNSET:
135
+ field_dict["assignees"] = assignees
136
+ if assignee is not UNSET:
137
+ field_dict["assignee"] = assignee
138
+ if tags is not UNSET:
139
+ field_dict["tags"] = tags
300
140
  if priority is not UNSET:
301
141
  field_dict["priority"] = priority
302
- if size is not UNSET:
303
- field_dict["size"] = size
304
142
  if start_at is not UNSET:
305
143
  field_dict["startAt"] = start_at
306
144
  if due_at is not UNSET:
307
145
  field_dict["dueAt"] = due_at
146
+ if size is not UNSET:
147
+ field_dict["size"] = size
308
148
  if time_tracking is not UNSET:
309
149
  field_dict["timeTracking"] = time_tracking
310
- if remind_at is not UNSET:
311
- field_dict["remindAt"] = remind_at
312
- if recurrence is not UNSET:
313
- field_dict["recurrence"] = recurrence
314
- if recurs_next_at is not UNSET:
315
- field_dict["recursNextAt"] = recurs_next_at
316
- if properties is not UNSET:
317
- field_dict["properties"] = properties
318
150
 
319
151
  return field_dict
320
152
 
321
153
  @classmethod
322
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
323
- d = src_dict.copy()
324
- duid = d.pop("duid", UNSET)
325
-
326
- _source_type = d.pop("sourceType", UNSET)
327
- source_type: Union[Unset, TaskSourceType]
328
- if isinstance(_source_type, Unset):
329
- source_type = UNSET
330
- else:
331
- source_type = TaskSourceType(_source_type)
154
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
155
+ d = dict(src_dict)
156
+ title = d.pop("title")
332
157
 
333
- def _parse_source_template_view_duid(data: object) -> Union[None, Unset, str]:
158
+ def _parse_parent_id(data: object) -> Union[None, Unset, str]:
334
159
  if data is None:
335
160
  return data
336
161
  if isinstance(data, Unset):
337
162
  return data
338
163
  return cast(Union[None, Unset, str], data)
339
164
 
340
- source_template_view_duid = _parse_source_template_view_duid(d.pop("sourceTemplateViewDuid", UNSET))
341
-
342
- def _parse_source_template_task_duid(data: object) -> Union[None, Unset, str]:
343
- if data is None:
344
- return data
345
- if isinstance(data, Unset):
346
- return data
347
- return cast(Union[None, Unset, str], data)
165
+ parent_id = _parse_parent_id(d.pop("parentId", UNSET))
348
166
 
349
- source_template_task_duid = _parse_source_template_task_duid(d.pop("sourceTemplateTaskDuid", UNSET))
167
+ dartboard = d.pop("dartboard", UNSET)
350
168
 
351
- def _parse_source_form_duid(data: object) -> Union[None, Unset, str]:
352
- if data is None:
353
- return data
354
- if isinstance(data, Unset):
355
- return data
356
- return cast(Union[None, Unset, str], data)
169
+ type_ = d.pop("type", UNSET)
357
170
 
358
- source_form_duid = _parse_source_form_duid(d.pop("sourceFormDuid", UNSET))
359
-
360
- def _parse_created_by_duid(data: object) -> Union[None, Unset, str]:
361
- if data is None:
362
- return data
363
- if isinstance(data, Unset):
364
- return data
365
- return cast(Union[None, Unset, str], data)
366
-
367
- created_by_duid = _parse_created_by_duid(d.pop("createdByDuid", UNSET))
368
-
369
- def _parse_updated_by_duid(data: object) -> Union[None, Unset, str]:
370
- if data is None:
371
- return data
372
- if isinstance(data, Unset):
373
- return data
374
- return cast(Union[None, Unset, str], data)
375
-
376
- updated_by_duid = _parse_updated_by_duid(d.pop("updatedByDuid", UNSET))
377
-
378
- def _parse_drafter_duid(data: object) -> Union[None, Unset, str]:
379
- if data is None:
380
- return data
381
- if isinstance(data, Unset):
382
- return data
383
- return cast(Union[None, Unset, str], data)
384
-
385
- drafter_duid = _parse_drafter_duid(d.pop("drafterDuid", UNSET))
386
-
387
- in_trash = d.pop("inTrash", UNSET)
388
-
389
- dartboard_duid = d.pop("dartboardDuid", UNSET)
390
-
391
- order = d.pop("order", UNSET)
392
-
393
- expanded = d.pop("expanded", UNSET)
394
-
395
- kind_duid = d.pop("kindDuid", UNSET)
396
-
397
- title = d.pop("title", UNSET)
171
+ status = d.pop("status", UNSET)
398
172
 
399
173
  description = d.pop("description", UNSET)
400
174
 
401
- description_markdown = d.pop("descriptionMarkdown", UNSET)
175
+ assignees = cast(list[str], d.pop("assignees", UNSET))
402
176
 
403
- status_duid = d.pop("statusDuid", UNSET)
404
-
405
- assigned_to_ai = d.pop("assignedToAi", UNSET)
406
-
407
- def _parse_recommendation_duid(data: object) -> Union[None, Unset, str]:
177
+ def _parse_assignee(data: object) -> Union[None, Unset, str]:
408
178
  if data is None:
409
179
  return data
410
180
  if isinstance(data, Unset):
411
181
  return data
412
182
  return cast(Union[None, Unset, str], data)
413
183
 
414
- recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid", UNSET))
415
-
416
- assignee_duids = cast(List[str], d.pop("assigneeDuids", UNSET))
417
-
418
- subscriber_duids = cast(List[str], d.pop("subscriberDuids", UNSET))
419
-
420
- tag_duids = cast(List[str], d.pop("tagDuids", UNSET))
184
+ assignee = _parse_assignee(d.pop("assignee", UNSET))
421
185
 
422
- attachment_duids = cast(List[str], d.pop("attachmentDuids", UNSET))
186
+ tags = cast(list[str], d.pop("tags", UNSET))
423
187
 
424
188
  def _parse_priority(data: object) -> Union[None, Priority, Unset]:
425
189
  if data is None:
@@ -438,136 +202,57 @@ class TaskCreate:
438
202
 
439
203
  priority = _parse_priority(d.pop("priority", UNSET))
440
204
 
441
- def _parse_size(data: object) -> Union[None, Unset, int]:
205
+ def _parse_start_at(data: object) -> Union[None, Unset, str]:
442
206
  if data is None:
443
207
  return data
444
208
  if isinstance(data, Unset):
445
209
  return data
446
- return cast(Union[None, Unset, int], data)
447
-
448
- size = _parse_size(d.pop("size", UNSET))
449
-
450
- def _parse_start_at(data: object) -> Union[None, Unset, datetime.datetime]:
451
- if data is None:
452
- return data
453
- if isinstance(data, Unset):
454
- return data
455
- try:
456
- if not isinstance(data, str):
457
- raise TypeError()
458
- start_at_type_0 = isoparse(data)
459
-
460
- return start_at_type_0
461
- except: # noqa: E722
462
- pass
463
- return cast(Union[None, Unset, datetime.datetime], data)
210
+ return cast(Union[None, Unset, str], data)
464
211
 
465
212
  start_at = _parse_start_at(d.pop("startAt", UNSET))
466
213
 
467
- def _parse_due_at(data: object) -> Union[None, Unset, datetime.datetime]:
214
+ def _parse_due_at(data: object) -> Union[None, Unset, str]:
468
215
  if data is None:
469
216
  return data
470
217
  if isinstance(data, Unset):
471
218
  return data
472
- try:
473
- if not isinstance(data, str):
474
- raise TypeError()
475
- due_at_type_0 = isoparse(data)
476
-
477
- return due_at_type_0
478
- except: # noqa: E722
479
- pass
480
- return cast(Union[None, Unset, datetime.datetime], data)
219
+ return cast(Union[None, Unset, str], data)
481
220
 
482
221
  due_at = _parse_due_at(d.pop("dueAt", UNSET))
483
222
 
484
- time_tracking = d.pop("timeTracking", UNSET)
485
-
486
- def _parse_remind_at(data: object) -> Union[None, Unset, datetime.datetime]:
487
- if data is None:
488
- return data
489
- if isinstance(data, Unset):
490
- return data
491
- try:
492
- if not isinstance(data, str):
493
- raise TypeError()
494
- remind_at_type_0 = isoparse(data)
495
-
496
- return remind_at_type_0
497
- except: # noqa: E722
498
- pass
499
- return cast(Union[None, Unset, datetime.datetime], data)
500
-
501
- remind_at = _parse_remind_at(d.pop("remindAt", UNSET))
502
-
503
- def _parse_recurrence(data: object) -> Union[Any, None, Unset]:
504
- if data is None:
505
- return data
506
- if isinstance(data, Unset):
507
- return data
508
- return cast(Union[Any, None, Unset], data)
509
-
510
- recurrence = _parse_recurrence(d.pop("recurrence", UNSET))
511
-
512
- def _parse_recurs_next_at(data: object) -> Union[None, Unset, datetime.datetime]:
223
+ def _parse_size(data: object) -> Union[None, Unset, int]:
513
224
  if data is None:
514
225
  return data
515
226
  if isinstance(data, Unset):
516
227
  return data
517
- try:
518
- if not isinstance(data, str):
519
- raise TypeError()
520
- recurs_next_at_type_0 = isoparse(data)
521
-
522
- return recurs_next_at_type_0
523
- except: # noqa: E722
524
- pass
525
- return cast(Union[None, Unset, datetime.datetime], data)
228
+ return cast(Union[None, Unset, int], data)
526
229
 
527
- recurs_next_at = _parse_recurs_next_at(d.pop("recursNextAt", UNSET))
230
+ size = _parse_size(d.pop("size", UNSET))
528
231
 
529
- properties = d.pop("properties", UNSET)
232
+ time_tracking = d.pop("timeTracking", UNSET)
530
233
 
531
234
  task_create = cls(
532
- duid=duid,
533
- source_type=source_type,
534
- source_template_view_duid=source_template_view_duid,
535
- source_template_task_duid=source_template_task_duid,
536
- source_form_duid=source_form_duid,
537
- created_by_duid=created_by_duid,
538
- updated_by_duid=updated_by_duid,
539
- drafter_duid=drafter_duid,
540
- in_trash=in_trash,
541
- dartboard_duid=dartboard_duid,
542
- order=order,
543
- expanded=expanded,
544
- kind_duid=kind_duid,
545
235
  title=title,
236
+ parent_id=parent_id,
237
+ dartboard=dartboard,
238
+ type_=type_,
239
+ status=status,
546
240
  description=description,
547
- description_markdown=description_markdown,
548
- status_duid=status_duid,
549
- assigned_to_ai=assigned_to_ai,
550
- recommendation_duid=recommendation_duid,
551
- assignee_duids=assignee_duids,
552
- subscriber_duids=subscriber_duids,
553
- tag_duids=tag_duids,
554
- attachment_duids=attachment_duids,
241
+ assignees=assignees,
242
+ assignee=assignee,
243
+ tags=tags,
555
244
  priority=priority,
556
- size=size,
557
245
  start_at=start_at,
558
246
  due_at=due_at,
247
+ size=size,
559
248
  time_tracking=time_tracking,
560
- remind_at=remind_at,
561
- recurrence=recurrence,
562
- recurs_next_at=recurs_next_at,
563
- properties=properties,
564
249
  )
565
250
 
566
251
  task_create.additional_properties = d
567
252
  return task_create
568
253
 
569
254
  @property
570
- def additional_keys(self) -> List[str]:
255
+ def additional_keys(self) -> list[str]:
571
256
  return list(self.additional_properties.keys())
572
257
 
573
258
  def __getitem__(self, key: str) -> Any: