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.

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.15.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.15.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 -80
  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.15.dist-info/RECORD +0 -257
  282. dart_tools-0.6.15.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  283. {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/entry_points.txt +0 -0
  284. {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info/licenses}/LICENSE +0 -0
  285. {dart_tools-0.6.15.dist-info → dart_tools-0.7.0.dist-info}/top_level.txt +0 -0
@@ -1,18 +1,9 @@
1
- from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
2
3
 
3
4
  from attrs import define as _attrs_define
4
5
  from attrs import field as _attrs_field
5
6
 
6
- from ..models.task_detail_mode import TaskDetailMode
7
- from ..models.theme import Theme
8
- from ..models.user_role import UserRole
9
- from ..models.user_status import UserStatus
10
- from ..types import UNSET, Unset
11
-
12
- if TYPE_CHECKING:
13
- from ..models.google_data import GoogleData
14
-
15
-
16
7
  T = TypeVar("T", bound="User")
17
8
 
18
9
 
@@ -20,216 +11,47 @@ T = TypeVar("T", bound="User")
20
11
  class User:
21
12
  """
22
13
  Attributes:
23
- duid (str):
24
- status (UserStatus): * `PendingSubscriptionUpgrade` - PENDING_SUBSCRIPTION_UPGRADE
25
- * `Invited` - INVITED
26
- * `PendingEmailVerification` - PENDING_EMAIL_VERIFICATION
27
- * `Active` - ACTIVE
28
- * `Deactivated` - DEACTIVATED
29
- role (UserRole): * `Admin` - ADMIN
30
- * `Member` - MEMBER
31
- * `Guest` - GUEST
32
- * `Technical admin` - TECHNICAL_ADMIN
33
- * `Financial admin` - FINANCIAL_ADMIN
34
- email (str):
35
14
  name (str):
36
- abrev (str):
37
- theme (Theme): * `System Default` - SYSTEM_DEFAULT
38
- * `Light` - LIGHT
39
- * `Dark` - DARK
40
- color_hex (str):
41
- task_detail_mode (TaskDetailMode): * `Rightbar` - RIGHTBAR
42
- * `Fullscreen` - FULLSCREEN
43
- * `Overlay` - OVERLAY
44
- sections (Any):
45
- layout (Any):
46
- auth_token (Union[None, str]):
47
- image_url (Union[None, str]):
48
- is_admin (bool):
49
- google_data (Union['GoogleData', None]):
50
- updated_by_client_duid (Union[None, Unset, str]):
15
+ email (str):
51
16
  """
52
17
 
53
- duid: str
54
- status: UserStatus
55
- role: UserRole
56
- email: str
57
18
  name: str
58
- abrev: str
59
- theme: Theme
60
- color_hex: str
61
- task_detail_mode: TaskDetailMode
62
- sections: Any
63
- layout: Any
64
- auth_token: Union[None, str]
65
- image_url: Union[None, str]
66
- is_admin: bool
67
- google_data: Union["GoogleData", None]
68
- updated_by_client_duid: Union[None, Unset, str] = UNSET
69
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
70
-
71
- def to_dict(self) -> Dict[str, Any]:
72
- from ..models.google_data import GoogleData
73
-
74
- duid = self.duid
75
-
76
- status = self.status.value
77
-
78
- role = self.role.value
79
-
80
- email = self.email
19
+ email: str
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
81
21
 
22
+ def to_dict(self) -> dict[str, Any]:
82
23
  name = self.name
83
24
 
84
- abrev = self.abrev
85
-
86
- theme = self.theme.value
87
-
88
- color_hex = self.color_hex
89
-
90
- task_detail_mode = self.task_detail_mode.value
91
-
92
- sections = self.sections
93
-
94
- layout = self.layout
95
-
96
- auth_token: Union[None, str]
97
- auth_token = self.auth_token
98
-
99
- image_url: Union[None, str]
100
- image_url = self.image_url
101
-
102
- is_admin = self.is_admin
103
-
104
- google_data: Union[Dict[str, Any], None]
105
- if isinstance(self.google_data, GoogleData):
106
- google_data = self.google_data.to_dict()
107
- else:
108
- google_data = self.google_data
109
-
110
- updated_by_client_duid: Union[None, Unset, str]
111
- if isinstance(self.updated_by_client_duid, Unset):
112
- updated_by_client_duid = UNSET
113
- else:
114
- updated_by_client_duid = self.updated_by_client_duid
25
+ email = self.email
115
26
 
116
- field_dict: Dict[str, Any] = {}
27
+ field_dict: dict[str, Any] = {}
117
28
  field_dict.update(self.additional_properties)
118
29
  field_dict.update(
119
30
  {
120
- "duid": duid,
121
- "status": status,
122
- "role": role,
123
- "email": email,
124
31
  "name": name,
125
- "abrev": abrev,
126
- "theme": theme,
127
- "colorHex": color_hex,
128
- "taskDetailMode": task_detail_mode,
129
- "sections": sections,
130
- "layout": layout,
131
- "authToken": auth_token,
132
- "imageUrl": image_url,
133
- "isAdmin": is_admin,
134
- "googleData": google_data,
32
+ "email": email,
135
33
  }
136
34
  )
137
- if updated_by_client_duid is not UNSET:
138
- field_dict["updatedByClientDuid"] = updated_by_client_duid
139
35
 
140
36
  return field_dict
141
37
 
142
38
  @classmethod
143
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
144
- from ..models.google_data import GoogleData
145
-
146
- d = src_dict.copy()
147
- duid = d.pop("duid")
148
-
149
- status = UserStatus(d.pop("status"))
150
-
151
- role = UserRole(d.pop("role"))
152
-
153
- email = d.pop("email")
154
-
39
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
+ d = dict(src_dict)
155
41
  name = d.pop("name")
156
42
 
157
- abrev = d.pop("abrev")
158
-
159
- theme = Theme(d.pop("theme"))
160
-
161
- color_hex = d.pop("colorHex")
162
-
163
- task_detail_mode = TaskDetailMode(d.pop("taskDetailMode"))
164
-
165
- sections = d.pop("sections")
166
-
167
- layout = d.pop("layout")
168
-
169
- def _parse_auth_token(data: object) -> Union[None, str]:
170
- if data is None:
171
- return data
172
- return cast(Union[None, str], data)
173
-
174
- auth_token = _parse_auth_token(d.pop("authToken"))
175
-
176
- def _parse_image_url(data: object) -> Union[None, str]:
177
- if data is None:
178
- return data
179
- return cast(Union[None, str], data)
180
-
181
- image_url = _parse_image_url(d.pop("imageUrl"))
182
-
183
- is_admin = d.pop("isAdmin")
184
-
185
- def _parse_google_data(data: object) -> Union["GoogleData", None]:
186
- if data is None:
187
- return data
188
- try:
189
- if not isinstance(data, dict):
190
- raise TypeError()
191
- google_data_type_0 = GoogleData.from_dict(data)
192
-
193
- return google_data_type_0
194
- except: # noqa: E722
195
- pass
196
- return cast(Union["GoogleData", None], data)
197
-
198
- google_data = _parse_google_data(d.pop("googleData"))
199
-
200
- def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
201
- if data is None:
202
- return data
203
- if isinstance(data, Unset):
204
- return data
205
- return cast(Union[None, Unset, str], data)
206
-
207
- updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
43
+ email = d.pop("email")
208
44
 
209
45
  user = cls(
210
- duid=duid,
211
- status=status,
212
- role=role,
213
- email=email,
214
46
  name=name,
215
- abrev=abrev,
216
- theme=theme,
217
- color_hex=color_hex,
218
- task_detail_mode=task_detail_mode,
219
- sections=sections,
220
- layout=layout,
221
- auth_token=auth_token,
222
- image_url=image_url,
223
- is_admin=is_admin,
224
- google_data=google_data,
225
- updated_by_client_duid=updated_by_client_duid,
47
+ email=email,
226
48
  )
227
49
 
228
50
  user.additional_properties = d
229
51
  return user
230
52
 
231
53
  @property
232
- def additional_keys(self) -> List[str]:
54
+ def additional_keys(self) -> list[str]:
233
55
  return list(self.additional_properties.keys())
234
56
 
235
57
  def __getitem__(self, key: str) -> Any:
@@ -0,0 +1,147 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+ from dateutil.parser import isoparse
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.user import User
11
+
12
+
13
+ T = TypeVar("T", bound="UserSpaceConfiguration")
14
+
15
+
16
+ @_attrs_define
17
+ class UserSpaceConfiguration:
18
+ """
19
+ Attributes:
20
+ today (datetime.date):
21
+ user (User):
22
+ dartboards (list[str]):
23
+ folders (list[str]):
24
+ types (list[str]):
25
+ statuses (list[str]):
26
+ assignees (list['User']):
27
+ tags (list[str]):
28
+ priorities (list[str]):
29
+ sizes (list[int]):
30
+ """
31
+
32
+ today: datetime.date
33
+ user: "User"
34
+ dartboards: list[str]
35
+ folders: list[str]
36
+ types: list[str]
37
+ statuses: list[str]
38
+ assignees: list["User"]
39
+ tags: list[str]
40
+ priorities: list[str]
41
+ sizes: list[int]
42
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+ def to_dict(self) -> dict[str, Any]:
45
+ today = self.today.isoformat()
46
+
47
+ user = self.user.to_dict()
48
+
49
+ dartboards = self.dartboards
50
+
51
+ folders = self.folders
52
+
53
+ types = self.types
54
+
55
+ statuses = self.statuses
56
+
57
+ assignees = []
58
+ for assignees_item_data in self.assignees:
59
+ assignees_item = assignees_item_data.to_dict()
60
+ assignees.append(assignees_item)
61
+
62
+ tags = self.tags
63
+
64
+ priorities = self.priorities
65
+
66
+ sizes = self.sizes
67
+
68
+ field_dict: dict[str, Any] = {}
69
+ field_dict.update(self.additional_properties)
70
+ field_dict.update(
71
+ {
72
+ "today": today,
73
+ "user": user,
74
+ "dartboards": dartboards,
75
+ "folders": folders,
76
+ "types": types,
77
+ "statuses": statuses,
78
+ "assignees": assignees,
79
+ "tags": tags,
80
+ "priorities": priorities,
81
+ "sizes": sizes,
82
+ }
83
+ )
84
+
85
+ return field_dict
86
+
87
+ @classmethod
88
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
89
+ from ..models.user import User
90
+
91
+ d = dict(src_dict)
92
+ today = isoparse(d.pop("today")).date()
93
+
94
+ user = User.from_dict(d.pop("user"))
95
+
96
+ dartboards = cast(list[str], d.pop("dartboards"))
97
+
98
+ folders = cast(list[str], d.pop("folders"))
99
+
100
+ types = cast(list[str], d.pop("types"))
101
+
102
+ statuses = cast(list[str], d.pop("statuses"))
103
+
104
+ assignees = []
105
+ _assignees = d.pop("assignees")
106
+ for assignees_item_data in _assignees:
107
+ assignees_item = User.from_dict(assignees_item_data)
108
+
109
+ assignees.append(assignees_item)
110
+
111
+ tags = cast(list[str], d.pop("tags"))
112
+
113
+ priorities = cast(list[str], d.pop("priorities"))
114
+
115
+ sizes = cast(list[int], d.pop("sizes"))
116
+
117
+ user_space_configuration = cls(
118
+ today=today,
119
+ user=user,
120
+ dartboards=dartboards,
121
+ folders=folders,
122
+ types=types,
123
+ statuses=statuses,
124
+ assignees=assignees,
125
+ tags=tags,
126
+ priorities=priorities,
127
+ sizes=sizes,
128
+ )
129
+
130
+ user_space_configuration.additional_properties = d
131
+ return user_space_configuration
132
+
133
+ @property
134
+ def additional_keys(self) -> list[str]:
135
+ return list(self.additional_properties.keys())
136
+
137
+ def __getitem__(self, key: str) -> Any:
138
+ return self.additional_properties[key]
139
+
140
+ def __setitem__(self, key: str, value: Any) -> None:
141
+ self.additional_properties[key] = value
142
+
143
+ def __delitem__(self, key: str) -> None:
144
+ del self.additional_properties[key]
145
+
146
+ def __contains__(self, key: str) -> bool:
147
+ return key in self.additional_properties
@@ -1,11 +1,12 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
2
3
 
3
4
  from attrs import define as _attrs_define
4
5
  from attrs import field as _attrs_field
5
6
 
6
- from ..models.icon_kind import IconKind
7
- from ..models.view_kind import ViewKind
8
- from ..types import UNSET, Unset
7
+ if TYPE_CHECKING:
8
+ from ..models.task import Task
9
+
9
10
 
10
11
  T = TypeVar("T", bound="View")
11
12
 
@@ -14,192 +15,81 @@ T = TypeVar("T", bound="View")
14
15
  class View:
15
16
  """
16
17
  Attributes:
17
- duid (str):
18
- kind (ViewKind): * `Custom` - CUSTOM
19
- * `Search` - SEARCH
20
- * `Trash` - TRASH
21
- * `My tasks` - MY_TASKS
22
- accessible_by_team (bool):
23
- accessible_by_user_duids (List[str]):
24
- public (bool):
25
- order (str):
26
- title (str):
27
- description (str):
28
- icon_kind (IconKind): * `None` - NONE
29
- * `Icon` - ICON
30
- * `Emoji` - EMOJI
31
- icon_name_or_emoji (str):
32
- color_hex (str):
33
- layout_duid (str):
34
- favorited_by_user_duids (List[str]):
35
- always_shown_property_duids (List[str]):
36
- always_hidden_property_duids (List[str]):
37
- property_order_duids (List[str]):
38
- property_width_map (Any):
39
- updated_by_client_duid (Union[None, Unset, str]):
18
+ id (str): The universal, unique ID of the view.
19
+ html_url (str): The URL that can be used to open the view in the Dart web UI.
20
+ title (str): The title, which is a short description of the view.
21
+ description (str): The description, which is a longer description of the view.
22
+ tasks (list['Task']): The list of all of the tasks in the view.
40
23
  """
41
24
 
42
- duid: str
43
- kind: ViewKind
44
- accessible_by_team: bool
45
- accessible_by_user_duids: List[str]
46
- public: bool
47
- order: str
25
+ id: str
26
+ html_url: str
48
27
  title: str
49
28
  description: str
50
- icon_kind: IconKind
51
- icon_name_or_emoji: str
52
- color_hex: str
53
- layout_duid: str
54
- favorited_by_user_duids: List[str]
55
- always_shown_property_duids: List[str]
56
- always_hidden_property_duids: List[str]
57
- property_order_duids: List[str]
58
- property_width_map: Any
59
- updated_by_client_duid: Union[None, Unset, str] = UNSET
60
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
61
-
62
- def to_dict(self) -> Dict[str, Any]:
63
- duid = self.duid
64
-
65
- kind = self.kind.value
66
-
67
- accessible_by_team = self.accessible_by_team
29
+ tasks: list["Task"]
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
68
31
 
69
- accessible_by_user_duids = self.accessible_by_user_duids
32
+ def to_dict(self) -> dict[str, Any]:
33
+ id = self.id
70
34
 
71
- public = self.public
72
-
73
- order = self.order
35
+ html_url = self.html_url
74
36
 
75
37
  title = self.title
76
38
 
77
39
  description = self.description
78
40
 
79
- icon_kind = self.icon_kind.value
80
-
81
- icon_name_or_emoji = self.icon_name_or_emoji
82
-
83
- color_hex = self.color_hex
84
-
85
- layout_duid = self.layout_duid
86
-
87
- favorited_by_user_duids = self.favorited_by_user_duids
88
-
89
- always_shown_property_duids = self.always_shown_property_duids
90
-
91
- always_hidden_property_duids = self.always_hidden_property_duids
92
-
93
- property_order_duids = self.property_order_duids
94
-
95
- property_width_map = self.property_width_map
41
+ tasks = []
42
+ for tasks_item_data in self.tasks:
43
+ tasks_item = tasks_item_data.to_dict()
44
+ tasks.append(tasks_item)
96
45
 
97
- updated_by_client_duid: Union[None, Unset, str]
98
- if isinstance(self.updated_by_client_duid, Unset):
99
- updated_by_client_duid = UNSET
100
- else:
101
- updated_by_client_duid = self.updated_by_client_duid
102
-
103
- field_dict: Dict[str, Any] = {}
46
+ field_dict: dict[str, Any] = {}
104
47
  field_dict.update(self.additional_properties)
105
48
  field_dict.update(
106
49
  {
107
- "duid": duid,
108
- "kind": kind,
109
- "accessibleByTeam": accessible_by_team,
110
- "accessibleByUserDuids": accessible_by_user_duids,
111
- "public": public,
112
- "order": order,
50
+ "id": id,
51
+ "htmlUrl": html_url,
113
52
  "title": title,
114
53
  "description": description,
115
- "iconKind": icon_kind,
116
- "iconNameOrEmoji": icon_name_or_emoji,
117
- "colorHex": color_hex,
118
- "layoutDuid": layout_duid,
119
- "favoritedByUserDuids": favorited_by_user_duids,
120
- "alwaysShownPropertyDuids": always_shown_property_duids,
121
- "alwaysHiddenPropertyDuids": always_hidden_property_duids,
122
- "propertyOrderDuids": property_order_duids,
123
- "propertyWidthMap": property_width_map,
54
+ "tasks": tasks,
124
55
  }
125
56
  )
126
- if updated_by_client_duid is not UNSET:
127
- field_dict["updatedByClientDuid"] = updated_by_client_duid
128
57
 
129
58
  return field_dict
130
59
 
131
60
  @classmethod
132
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
133
- d = src_dict.copy()
134
- duid = d.pop("duid")
135
-
136
- kind = ViewKind(d.pop("kind"))
137
-
138
- accessible_by_team = d.pop("accessibleByTeam")
139
-
140
- accessible_by_user_duids = cast(List[str], d.pop("accessibleByUserDuids"))
61
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
62
+ from ..models.task import Task
141
63
 
142
- public = d.pop("public")
64
+ d = dict(src_dict)
65
+ id = d.pop("id")
143
66
 
144
- order = d.pop("order")
67
+ html_url = d.pop("htmlUrl")
145
68
 
146
69
  title = d.pop("title")
147
70
 
148
71
  description = d.pop("description")
149
72
 
150
- icon_kind = IconKind(d.pop("iconKind"))
151
-
152
- icon_name_or_emoji = d.pop("iconNameOrEmoji")
153
-
154
- color_hex = d.pop("colorHex")
155
-
156
- layout_duid = d.pop("layoutDuid")
157
-
158
- favorited_by_user_duids = cast(List[str], d.pop("favoritedByUserDuids"))
159
-
160
- always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids"))
161
-
162
- always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids"))
163
-
164
- property_order_duids = cast(List[str], d.pop("propertyOrderDuids"))
165
-
166
- property_width_map = d.pop("propertyWidthMap")
167
-
168
- def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
169
- if data is None:
170
- return data
171
- if isinstance(data, Unset):
172
- return data
173
- 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)
174
77
 
175
- updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
78
+ tasks.append(tasks_item)
176
79
 
177
80
  view = cls(
178
- duid=duid,
179
- kind=kind,
180
- accessible_by_team=accessible_by_team,
181
- accessible_by_user_duids=accessible_by_user_duids,
182
- public=public,
183
- order=order,
81
+ id=id,
82
+ html_url=html_url,
184
83
  title=title,
185
84
  description=description,
186
- icon_kind=icon_kind,
187
- icon_name_or_emoji=icon_name_or_emoji,
188
- color_hex=color_hex,
189
- layout_duid=layout_duid,
190
- favorited_by_user_duids=favorited_by_user_duids,
191
- always_shown_property_duids=always_shown_property_duids,
192
- always_hidden_property_duids=always_hidden_property_duids,
193
- property_order_duids=property_order_duids,
194
- property_width_map=property_width_map,
195
- updated_by_client_duid=updated_by_client_duid,
85
+ tasks=tasks,
196
86
  )
197
87
 
198
88
  view.additional_properties = d
199
89
  return view
200
90
 
201
91
  @property
202
- def additional_keys(self) -> List[str]:
92
+ def additional_keys(self) -> list[str]:
203
93
  return list(self.additional_properties.keys())
204
94
 
205
95
  def __getitem__(self, key: str) -> Any:
@@ -0,0 +1,65 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.comment import Comment
9
+
10
+
11
+ T = TypeVar("T", bound="WrappedComment")
12
+
13
+
14
+ @_attrs_define
15
+ class WrappedComment:
16
+ """
17
+ Attributes:
18
+ item (Comment):
19
+ """
20
+
21
+ item: "Comment"
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ item = self.item.to_dict()
26
+
27
+ field_dict: dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "item": item,
32
+ }
33
+ )
34
+
35
+ return field_dict
36
+
37
+ @classmethod
38
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
39
+ from ..models.comment import Comment
40
+
41
+ d = dict(src_dict)
42
+ item = Comment.from_dict(d.pop("item"))
43
+
44
+ wrapped_comment = cls(
45
+ item=item,
46
+ )
47
+
48
+ wrapped_comment.additional_properties = d
49
+ return wrapped_comment
50
+
51
+ @property
52
+ def additional_keys(self) -> list[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties