dart-tools 0.6.9__py3-none-any.whl → 0.6.10__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 (183) hide show
  1. dart/__init__.py +2 -0
  2. dart/dart.py +2 -0
  3. dart/generated/api/attachments/attachments_list.py +5 -5
  4. dart/generated/api/comments/comments_list.py +5 -5
  5. dart/generated/api/dartboards/dartboards_list.py +5 -5
  6. dart/generated/api/dashboards/dashboards_list.py +5 -5
  7. dart/generated/api/docs/docs_list.py +5 -5
  8. dart/generated/api/folders/folders_list.py +5 -5
  9. dart/generated/api/form_fields/form_fields_list.py +5 -5
  10. dart/generated/api/forms/forms_list.py +5 -5
  11. dart/generated/api/layouts/layouts_list.py +5 -5
  12. dart/generated/api/links/links_list.py +5 -5
  13. dart/generated/api/options/options_list.py +5 -5
  14. dart/generated/api/properties/properties_list.py +5 -5
  15. dart/generated/api/reactions/reactions_list.py +5 -5
  16. dart/generated/api/relationship_kinds/relationship_kinds_list.py +5 -5
  17. dart/generated/api/relationships/relationships_list.py +5 -5
  18. dart/generated/api/spaces/spaces_list.py +5 -5
  19. dart/generated/api/statuses/statuses_list.py +5 -5
  20. dart/generated/api/task_doc_relationships/task_doc_relationships_list.py +5 -5
  21. dart/generated/api/task_kinds/task_kinds_list.py +5 -5
  22. dart/generated/api/tasks/tasks_list.py +5 -5
  23. dart/generated/api/tenants/tenants_list.py +5 -5
  24. dart/generated/api/transactions/transactions_create.py +6 -6
  25. dart/generated/api/user_dartboard_layouts/user_dartboard_layouts_list.py +5 -5
  26. dart/generated/api/user_data/user_data_entity_retrieve.py +4 -4
  27. dart/generated/api/users/users_list.py +5 -5
  28. dart/generated/api/views/views_list.py +5 -5
  29. dart/generated/api/webhooks/webhooks_list.py +5 -5
  30. dart/generated/client.py +13 -13
  31. dart/generated/models/__init__.py +2 -2
  32. dart/generated/models/attachment.py +6 -6
  33. dart/generated/models/attachment_create.py +6 -6
  34. dart/generated/models/attachment_update.py +6 -6
  35. dart/generated/models/bar_chart_adtl.py +6 -6
  36. dart/generated/models/brainstorm.py +9 -9
  37. dart/generated/models/brainstorm_create.py +10 -10
  38. dart/generated/models/brainstorm_update.py +10 -10
  39. dart/generated/models/burn_up_chart_adtl.py +6 -6
  40. dart/generated/models/chart.py +15 -14
  41. dart/generated/models/{number_chart_aggregation.py → chart_aggregation.py} +1 -1
  42. dart/generated/models/chart_type.py +2 -1
  43. dart/generated/models/comment.py +8 -8
  44. dart/generated/models/comment_create.py +6 -6
  45. dart/generated/models/comment_reaction.py +6 -6
  46. dart/generated/models/comment_reaction_create.py +6 -6
  47. dart/generated/models/comment_reaction_update.py +6 -6
  48. dart/generated/models/comment_update.py +6 -6
  49. dart/generated/models/dartboard.py +33 -17
  50. dart/generated/models/dartboard_create.py +37 -19
  51. dart/generated/models/dartboard_update.py +37 -19
  52. dart/generated/models/dashboard.py +14 -14
  53. dart/generated/models/dashboard_create.py +14 -14
  54. dart/generated/models/dashboard_update.py +14 -14
  55. dart/generated/models/discord_integration.py +6 -6
  56. dart/generated/models/doc.py +12 -12
  57. dart/generated/models/doc_create.py +14 -14
  58. dart/generated/models/doc_update.py +14 -14
  59. dart/generated/models/event.py +12 -12
  60. dart/generated/models/event_actor.py +1 -0
  61. dart/generated/models/event_create.py +6 -6
  62. dart/generated/models/event_subscription.py +6 -6
  63. dart/generated/models/event_subscription_update.py +6 -6
  64. dart/generated/models/filter_assignee.py +9 -9
  65. dart/generated/models/filter_group.py +7 -7
  66. dart/generated/models/filter_search.py +9 -9
  67. dart/generated/models/filter_set.py +9 -9
  68. dart/generated/models/folder.py +6 -6
  69. dart/generated/models/folder_create.py +6 -6
  70. dart/generated/models/folder_update.py +6 -6
  71. dart/generated/models/form.py +6 -6
  72. dart/generated/models/form_create.py +6 -6
  73. dart/generated/models/form_field.py +6 -6
  74. dart/generated/models/form_field_create.py +6 -6
  75. dart/generated/models/form_field_update.py +6 -6
  76. dart/generated/models/form_update.py +6 -6
  77. dart/generated/models/github_integration.py +6 -6
  78. dart/generated/models/google_data.py +6 -6
  79. dart/generated/models/layout.py +8 -8
  80. dart/generated/models/layout_config.py +6 -6
  81. dart/generated/models/layout_create.py +6 -6
  82. dart/generated/models/layout_kind_config_map.py +6 -6
  83. dart/generated/models/layout_update.py +6 -6
  84. dart/generated/models/line_chart_adtl.py +6 -6
  85. dart/generated/models/models_response.py +94 -94
  86. dart/generated/models/notification.py +6 -6
  87. dart/generated/models/notification_update.py +7 -7
  88. dart/generated/models/notion_integration.py +6 -6
  89. dart/generated/models/number_chart_adtl.py +10 -18
  90. dart/generated/models/operation.py +7 -7
  91. dart/generated/models/option.py +6 -6
  92. dart/generated/models/option_create.py +6 -6
  93. dart/generated/models/option_update.py +6 -6
  94. dart/generated/models/paginated_attachment_list.py +8 -8
  95. dart/generated/models/paginated_comment_list.py +8 -8
  96. dart/generated/models/paginated_comment_reaction_list.py +8 -8
  97. dart/generated/models/paginated_dartboard_list.py +8 -8
  98. dart/generated/models/paginated_dashboard_list.py +8 -8
  99. dart/generated/models/paginated_doc_list.py +8 -8
  100. dart/generated/models/paginated_folder_list.py +8 -8
  101. dart/generated/models/paginated_form_field_list.py +8 -8
  102. dart/generated/models/paginated_form_list.py +8 -8
  103. dart/generated/models/paginated_layout_list.py +8 -8
  104. dart/generated/models/paginated_option_list.py +8 -8
  105. dart/generated/models/paginated_property_list.py +8 -8
  106. dart/generated/models/paginated_relationship_kind_list.py +8 -8
  107. dart/generated/models/paginated_relationship_list.py +8 -8
  108. dart/generated/models/paginated_space_list.py +8 -8
  109. dart/generated/models/paginated_status_list.py +8 -8
  110. dart/generated/models/paginated_task_doc_relationship_list.py +8 -8
  111. dart/generated/models/paginated_task_kind_list.py +8 -8
  112. dart/generated/models/paginated_task_link_list.py +8 -8
  113. dart/generated/models/paginated_task_list.py +8 -8
  114. dart/generated/models/paginated_tenant_list.py +8 -8
  115. dart/generated/models/paginated_user_dartboard_layout_list.py +8 -8
  116. dart/generated/models/paginated_user_list.py +8 -8
  117. dart/generated/models/paginated_view_list.py +8 -8
  118. dart/generated/models/paginated_webhook_list.py +8 -8
  119. dart/generated/models/pie_chart_adtl.py +6 -6
  120. dart/generated/models/property_.py +6 -6
  121. dart/generated/models/property_create.py +6 -6
  122. dart/generated/models/property_update.py +6 -6
  123. dart/generated/models/relationship.py +6 -6
  124. dart/generated/models/relationship_create.py +6 -6
  125. dart/generated/models/relationship_kind.py +6 -6
  126. dart/generated/models/relationship_kind_create.py +6 -6
  127. dart/generated/models/relationship_kind_update.py +6 -6
  128. dart/generated/models/request_body.py +8 -8
  129. dart/generated/models/response_body.py +8 -8
  130. dart/generated/models/saml_config.py +6 -6
  131. dart/generated/models/slack_integration.py +6 -6
  132. dart/generated/models/sort.py +6 -6
  133. dart/generated/models/space.py +48 -9
  134. dart/generated/models/space_create.py +60 -10
  135. dart/generated/models/space_update.py +60 -10
  136. dart/generated/models/status.py +6 -6
  137. dart/generated/models/status_create.py +6 -6
  138. dart/generated/models/status_update.py +6 -6
  139. dart/generated/models/table_chart_adtl.py +32 -6
  140. dart/generated/models/task.py +23 -23
  141. dart/generated/models/task_create.py +22 -22
  142. dart/generated/models/task_doc_relationship.py +6 -6
  143. dart/generated/models/task_doc_relationship_create.py +6 -6
  144. dart/generated/models/task_kind.py +9 -9
  145. dart/generated/models/task_kind_create.py +10 -10
  146. dart/generated/models/task_kind_update.py +10 -10
  147. dart/generated/models/task_link.py +6 -6
  148. dart/generated/models/task_link_create.py +6 -6
  149. dart/generated/models/task_link_update.py +6 -6
  150. dart/generated/models/task_notion_document.py +9 -9
  151. dart/generated/models/task_notion_document_block_children_map_type_0.py +6 -6
  152. dart/generated/models/task_notion_document_block_map_type_0.py +6 -6
  153. dart/generated/models/task_notion_document_page_map_type_0.py +6 -6
  154. dart/generated/models/task_properties.py +6 -6
  155. dart/generated/models/task_update.py +22 -22
  156. dart/generated/models/tenant.py +12 -12
  157. dart/generated/models/tenant_update.py +6 -6
  158. dart/generated/models/transaction.py +9 -8
  159. dart/generated/models/transaction_kind.py +1 -0
  160. dart/generated/models/transaction_response.py +6 -6
  161. dart/generated/models/user.py +7 -7
  162. dart/generated/models/user_dartboard_layout.py +6 -6
  163. dart/generated/models/user_dartboard_layout_create.py +6 -6
  164. dart/generated/models/user_update.py +26 -6
  165. dart/generated/models/validation_error_response.py +6 -6
  166. dart/generated/models/validation_error_response_items.py +6 -6
  167. dart/generated/models/view.py +29 -21
  168. dart/generated/models/view_create.py +36 -27
  169. dart/generated/models/view_update.py +36 -27
  170. dart/generated/models/webhook.py +6 -6
  171. dart/generated/models/webhook_create.py +6 -6
  172. dart/generated/models/webhook_update.py +6 -6
  173. dart/generated/models/zapier_integration.py +9 -9
  174. dart/generated/types.py +4 -3
  175. dart/order_manager.py +3 -0
  176. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/METADATA +39 -3
  177. dart_tools-0.6.10.dist-info/RECORD +256 -0
  178. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/WHEEL +1 -1
  179. dart_tools-0.6.9.dist-info/RECORD +0 -256
  180. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/LICENSE +0 -0
  181. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/dist/dart-tools-0.3.3.tar.gz +0 -0
  182. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/entry_points.txt +0 -0
  183. {dart_tools-0.6.9.dist-info → dart_tools-0.6.10.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
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
@@ -20,7 +20,7 @@ class SpaceCreate:
20
20
  order (str):
21
21
  drafter_duid (Union[None, Unset, str]):
22
22
  accessible_by_team (Union[Unset, bool]):
23
- accessible_by_user_duids (Union[Unset, List[str]]):
23
+ accessible_by_user_duids (Union[Unset, list[str]]):
24
24
  title (Union[Unset, str]):
25
25
  abrev (Union[Unset, str]):
26
26
  description (Union[Unset, str]):
@@ -37,13 +37,15 @@ class SpaceCreate:
37
37
  standup_recurs_next_at (Union[None, Unset, datetime.datetime]):
38
38
  changelog_recurrence (Union[Any, None, Unset]):
39
39
  changelog_recurs_next_at (Union[None, Unset, datetime.datetime]):
40
+ rollover_recurrence (Union[Any, None, Unset]):
41
+ rollover_recurs_next_at (Union[None, Unset, datetime.datetime]):
40
42
  """
41
43
 
42
44
  duid: str
43
45
  order: str
44
46
  drafter_duid: Union[None, Unset, str] = UNSET
45
47
  accessible_by_team: Union[Unset, bool] = UNSET
46
- accessible_by_user_duids: Union[Unset, List[str]] = UNSET
48
+ accessible_by_user_duids: Union[Unset, list[str]] = UNSET
47
49
  title: Union[Unset, str] = UNSET
48
50
  abrev: Union[Unset, str] = UNSET
49
51
  description: Union[Unset, str] = UNSET
@@ -57,9 +59,11 @@ class SpaceCreate:
57
59
  standup_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
58
60
  changelog_recurrence: Union[Any, None, Unset] = UNSET
59
61
  changelog_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
60
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
62
+ rollover_recurrence: Union[Any, None, Unset] = UNSET
63
+ rollover_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
64
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
61
65
 
62
- def to_dict(self) -> Dict[str, Any]:
66
+ def to_dict(self) -> dict[str, Any]:
63
67
  duid = self.duid
64
68
 
65
69
  order = self.order
@@ -72,7 +76,7 @@ class SpaceCreate:
72
76
 
73
77
  accessible_by_team = self.accessible_by_team
74
78
 
75
- accessible_by_user_duids: Union[Unset, List[str]] = UNSET
79
+ accessible_by_user_duids: Union[Unset, list[str]] = UNSET
76
80
  if not isinstance(self.accessible_by_user_duids, Unset):
77
81
  accessible_by_user_duids = self.accessible_by_user_duids
78
82
 
@@ -126,7 +130,21 @@ class SpaceCreate:
126
130
  else:
127
131
  changelog_recurs_next_at = self.changelog_recurs_next_at
128
132
 
129
- field_dict: Dict[str, Any] = {}
133
+ rollover_recurrence: Union[Any, None, Unset]
134
+ if isinstance(self.rollover_recurrence, Unset):
135
+ rollover_recurrence = UNSET
136
+ else:
137
+ rollover_recurrence = self.rollover_recurrence
138
+
139
+ rollover_recurs_next_at: Union[None, Unset, str]
140
+ if isinstance(self.rollover_recurs_next_at, Unset):
141
+ rollover_recurs_next_at = UNSET
142
+ elif isinstance(self.rollover_recurs_next_at, datetime.datetime):
143
+ rollover_recurs_next_at = self.rollover_recurs_next_at.isoformat()
144
+ else:
145
+ rollover_recurs_next_at = self.rollover_recurs_next_at
146
+
147
+ field_dict: dict[str, Any] = {}
130
148
  field_dict.update(self.additional_properties)
131
149
  field_dict.update(
132
150
  {
@@ -166,11 +184,15 @@ class SpaceCreate:
166
184
  field_dict["changelogRecurrence"] = changelog_recurrence
167
185
  if changelog_recurs_next_at is not UNSET:
168
186
  field_dict["changelogRecursNextAt"] = changelog_recurs_next_at
187
+ if rollover_recurrence is not UNSET:
188
+ field_dict["rolloverRecurrence"] = rollover_recurrence
189
+ if rollover_recurs_next_at is not UNSET:
190
+ field_dict["rolloverRecursNextAt"] = rollover_recurs_next_at
169
191
 
170
192
  return field_dict
171
193
 
172
194
  @classmethod
173
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
195
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
174
196
  d = src_dict.copy()
175
197
  duid = d.pop("duid")
176
198
 
@@ -187,7 +209,7 @@ class SpaceCreate:
187
209
 
188
210
  accessible_by_team = d.pop("accessibleByTeam", UNSET)
189
211
 
190
- accessible_by_user_duids = cast(List[str], d.pop("accessibleByUserDuids", UNSET))
212
+ accessible_by_user_duids = cast(list[str], d.pop("accessibleByUserDuids", UNSET))
191
213
 
192
214
  title = d.pop("title", UNSET)
193
215
 
@@ -269,6 +291,32 @@ class SpaceCreate:
269
291
 
270
292
  changelog_recurs_next_at = _parse_changelog_recurs_next_at(d.pop("changelogRecursNextAt", UNSET))
271
293
 
294
+ def _parse_rollover_recurrence(data: object) -> Union[Any, None, Unset]:
295
+ if data is None:
296
+ return data
297
+ if isinstance(data, Unset):
298
+ return data
299
+ return cast(Union[Any, None, Unset], data)
300
+
301
+ rollover_recurrence = _parse_rollover_recurrence(d.pop("rolloverRecurrence", UNSET))
302
+
303
+ def _parse_rollover_recurs_next_at(data: object) -> Union[None, Unset, datetime.datetime]:
304
+ if data is None:
305
+ return data
306
+ if isinstance(data, Unset):
307
+ return data
308
+ try:
309
+ if not isinstance(data, str):
310
+ raise TypeError()
311
+ rollover_recurs_next_at_type_0 = isoparse(data)
312
+
313
+ return rollover_recurs_next_at_type_0
314
+ except: # noqa: E722
315
+ pass
316
+ return cast(Union[None, Unset, datetime.datetime], data)
317
+
318
+ rollover_recurs_next_at = _parse_rollover_recurs_next_at(d.pop("rolloverRecursNextAt", UNSET))
319
+
272
320
  space_create = cls(
273
321
  duid=duid,
274
322
  order=order,
@@ -288,13 +336,15 @@ class SpaceCreate:
288
336
  standup_recurs_next_at=standup_recurs_next_at,
289
337
  changelog_recurrence=changelog_recurrence,
290
338
  changelog_recurs_next_at=changelog_recurs_next_at,
339
+ rollover_recurrence=rollover_recurrence,
340
+ rollover_recurs_next_at=rollover_recurs_next_at,
291
341
  )
292
342
 
293
343
  space_create.additional_properties = d
294
344
  return space_create
295
345
 
296
346
  @property
297
- def additional_keys(self) -> List[str]:
347
+ def additional_keys(self) -> list[str]:
298
348
  return list(self.additional_properties.keys())
299
349
 
300
350
  def __getitem__(self, key: str) -> Any:
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
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
@@ -19,7 +19,7 @@ class SpaceUpdate:
19
19
  duid (str):
20
20
  drafter_duid (Union[None, Unset, str]):
21
21
  accessible_by_team (Union[Unset, bool]):
22
- accessible_by_user_duids (Union[Unset, List[str]]):
22
+ accessible_by_user_duids (Union[Unset, list[str]]):
23
23
  order (Union[Unset, str]):
24
24
  title (Union[Unset, str]):
25
25
  abrev (Union[Unset, str]):
@@ -37,12 +37,14 @@ class SpaceUpdate:
37
37
  standup_recurs_next_at (Union[None, Unset, datetime.datetime]):
38
38
  changelog_recurrence (Union[Any, None, Unset]):
39
39
  changelog_recurs_next_at (Union[None, Unset, datetime.datetime]):
40
+ rollover_recurrence (Union[Any, None, Unset]):
41
+ rollover_recurs_next_at (Union[None, Unset, datetime.datetime]):
40
42
  """
41
43
 
42
44
  duid: str
43
45
  drafter_duid: Union[None, Unset, str] = UNSET
44
46
  accessible_by_team: Union[Unset, bool] = UNSET
45
- accessible_by_user_duids: Union[Unset, List[str]] = UNSET
47
+ accessible_by_user_duids: Union[Unset, list[str]] = UNSET
46
48
  order: Union[Unset, str] = UNSET
47
49
  title: Union[Unset, str] = UNSET
48
50
  abrev: Union[Unset, str] = UNSET
@@ -57,9 +59,11 @@ class SpaceUpdate:
57
59
  standup_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
58
60
  changelog_recurrence: Union[Any, None, Unset] = UNSET
59
61
  changelog_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
60
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
62
+ rollover_recurrence: Union[Any, None, Unset] = UNSET
63
+ rollover_recurs_next_at: Union[None, Unset, datetime.datetime] = UNSET
64
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
61
65
 
62
- def to_dict(self) -> Dict[str, Any]:
66
+ def to_dict(self) -> dict[str, Any]:
63
67
  duid = self.duid
64
68
 
65
69
  drafter_duid: Union[None, Unset, str]
@@ -70,7 +74,7 @@ class SpaceUpdate:
70
74
 
71
75
  accessible_by_team = self.accessible_by_team
72
76
 
73
- accessible_by_user_duids: Union[Unset, List[str]] = UNSET
77
+ accessible_by_user_duids: Union[Unset, list[str]] = UNSET
74
78
  if not isinstance(self.accessible_by_user_duids, Unset):
75
79
  accessible_by_user_duids = self.accessible_by_user_duids
76
80
 
@@ -126,7 +130,21 @@ class SpaceUpdate:
126
130
  else:
127
131
  changelog_recurs_next_at = self.changelog_recurs_next_at
128
132
 
129
- field_dict: Dict[str, Any] = {}
133
+ rollover_recurrence: Union[Any, None, Unset]
134
+ if isinstance(self.rollover_recurrence, Unset):
135
+ rollover_recurrence = UNSET
136
+ else:
137
+ rollover_recurrence = self.rollover_recurrence
138
+
139
+ rollover_recurs_next_at: Union[None, Unset, str]
140
+ if isinstance(self.rollover_recurs_next_at, Unset):
141
+ rollover_recurs_next_at = UNSET
142
+ elif isinstance(self.rollover_recurs_next_at, datetime.datetime):
143
+ rollover_recurs_next_at = self.rollover_recurs_next_at.isoformat()
144
+ else:
145
+ rollover_recurs_next_at = self.rollover_recurs_next_at
146
+
147
+ field_dict: dict[str, Any] = {}
130
148
  field_dict.update(self.additional_properties)
131
149
  field_dict.update(
132
150
  {
@@ -167,11 +185,15 @@ class SpaceUpdate:
167
185
  field_dict["changelogRecurrence"] = changelog_recurrence
168
186
  if changelog_recurs_next_at is not UNSET:
169
187
  field_dict["changelogRecursNextAt"] = changelog_recurs_next_at
188
+ if rollover_recurrence is not UNSET:
189
+ field_dict["rolloverRecurrence"] = rollover_recurrence
190
+ if rollover_recurs_next_at is not UNSET:
191
+ field_dict["rolloverRecursNextAt"] = rollover_recurs_next_at
170
192
 
171
193
  return field_dict
172
194
 
173
195
  @classmethod
174
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
196
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
175
197
  d = src_dict.copy()
176
198
  duid = d.pop("duid")
177
199
 
@@ -186,7 +208,7 @@ class SpaceUpdate:
186
208
 
187
209
  accessible_by_team = d.pop("accessibleByTeam", UNSET)
188
210
 
189
- accessible_by_user_duids = cast(List[str], d.pop("accessibleByUserDuids", UNSET))
211
+ accessible_by_user_duids = cast(list[str], d.pop("accessibleByUserDuids", UNSET))
190
212
 
191
213
  order = d.pop("order", UNSET)
192
214
 
@@ -270,6 +292,32 @@ class SpaceUpdate:
270
292
 
271
293
  changelog_recurs_next_at = _parse_changelog_recurs_next_at(d.pop("changelogRecursNextAt", UNSET))
272
294
 
295
+ def _parse_rollover_recurrence(data: object) -> Union[Any, None, Unset]:
296
+ if data is None:
297
+ return data
298
+ if isinstance(data, Unset):
299
+ return data
300
+ return cast(Union[Any, None, Unset], data)
301
+
302
+ rollover_recurrence = _parse_rollover_recurrence(d.pop("rolloverRecurrence", UNSET))
303
+
304
+ def _parse_rollover_recurs_next_at(data: object) -> Union[None, Unset, datetime.datetime]:
305
+ if data is None:
306
+ return data
307
+ if isinstance(data, Unset):
308
+ return data
309
+ try:
310
+ if not isinstance(data, str):
311
+ raise TypeError()
312
+ rollover_recurs_next_at_type_0 = isoparse(data)
313
+
314
+ return rollover_recurs_next_at_type_0
315
+ except: # noqa: E722
316
+ pass
317
+ return cast(Union[None, Unset, datetime.datetime], data)
318
+
319
+ rollover_recurs_next_at = _parse_rollover_recurs_next_at(d.pop("rolloverRecursNextAt", UNSET))
320
+
273
321
  space_update = cls(
274
322
  duid=duid,
275
323
  drafter_duid=drafter_duid,
@@ -289,13 +337,15 @@ class SpaceUpdate:
289
337
  standup_recurs_next_at=standup_recurs_next_at,
290
338
  changelog_recurrence=changelog_recurrence,
291
339
  changelog_recurs_next_at=changelog_recurs_next_at,
340
+ rollover_recurrence=rollover_recurrence,
341
+ rollover_recurs_next_at=rollover_recurs_next_at,
292
342
  )
293
343
 
294
344
  space_update.additional_properties = d
295
345
  return space_update
296
346
 
297
347
  @property
298
- def additional_keys(self) -> List[str]:
348
+ def additional_keys(self) -> list[str]:
299
349
  return list(self.additional_properties.keys())
300
350
 
301
351
  def __getitem__(self, key: str) -> Any:
@@ -1,4 +1,4 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
1
+ from typing import Any, TypeVar, Union, cast
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -37,9 +37,9 @@ class Status:
37
37
  color_hex: str
38
38
  description: str
39
39
  updated_by_client_duid: Union[None, Unset, str] = UNSET
40
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
41
 
42
- def to_dict(self) -> Dict[str, Any]:
42
+ def to_dict(self) -> dict[str, Any]:
43
43
  duid = self.duid
44
44
 
45
45
  property_duid = self.property_duid
@@ -62,7 +62,7 @@ class Status:
62
62
  else:
63
63
  updated_by_client_duid = self.updated_by_client_duid
64
64
 
65
- field_dict: Dict[str, Any] = {}
65
+ field_dict: dict[str, Any] = {}
66
66
  field_dict.update(self.additional_properties)
67
67
  field_dict.update(
68
68
  {
@@ -82,7 +82,7 @@ class Status:
82
82
  return field_dict
83
83
 
84
84
  @classmethod
85
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
85
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
86
86
  d = src_dict.copy()
87
87
  duid = d.pop("duid")
88
88
 
@@ -125,7 +125,7 @@ class Status:
125
125
  return status
126
126
 
127
127
  @property
128
- def additional_keys(self) -> List[str]:
128
+ def additional_keys(self) -> list[str]:
129
129
  return list(self.additional_properties.keys())
130
130
 
131
131
  def __getitem__(self, key: str) -> Any:
@@ -1,4 +1,4 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union
1
+ from typing import Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -35,9 +35,9 @@ class StatusCreate:
35
35
  title: Union[Unset, str] = UNSET
36
36
  color_hex: Union[Unset, str] = UNSET
37
37
  description: Union[Unset, str] = UNSET
38
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
39
 
40
- def to_dict(self) -> Dict[str, Any]:
40
+ def to_dict(self) -> dict[str, Any]:
41
41
  duid = self.duid
42
42
 
43
43
  property_duid = self.property_duid
@@ -54,7 +54,7 @@ class StatusCreate:
54
54
 
55
55
  description = self.description
56
56
 
57
- field_dict: Dict[str, Any] = {}
57
+ field_dict: dict[str, Any] = {}
58
58
  field_dict.update(self.additional_properties)
59
59
  field_dict.update(
60
60
  {
@@ -76,7 +76,7 @@ class StatusCreate:
76
76
  return field_dict
77
77
 
78
78
  @classmethod
79
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
79
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
80
80
  d = src_dict.copy()
81
81
  duid = d.pop("duid")
82
82
 
@@ -109,7 +109,7 @@ class StatusCreate:
109
109
  return status_create
110
110
 
111
111
  @property
112
- def additional_keys(self) -> List[str]:
112
+ def additional_keys(self) -> list[str]:
113
113
  return list(self.additional_properties.keys())
114
114
 
115
115
  def __getitem__(self, key: str) -> Any:
@@ -1,4 +1,4 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union
1
+ from typing import Any, TypeVar, Union
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
@@ -35,9 +35,9 @@ class StatusUpdate:
35
35
  title: Union[Unset, str] = UNSET
36
36
  color_hex: Union[Unset, str] = UNSET
37
37
  description: Union[Unset, str] = UNSET
38
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
39
 
40
- def to_dict(self) -> Dict[str, Any]:
40
+ def to_dict(self) -> dict[str, Any]:
41
41
  duid = self.duid
42
42
 
43
43
  property_duid = self.property_duid
@@ -56,7 +56,7 @@ class StatusUpdate:
56
56
 
57
57
  description = self.description
58
58
 
59
- field_dict: Dict[str, Any] = {}
59
+ field_dict: dict[str, Any] = {}
60
60
  field_dict.update(self.additional_properties)
61
61
  field_dict.update(
62
62
  {
@@ -81,7 +81,7 @@ class StatusUpdate:
81
81
  return field_dict
82
82
 
83
83
  @classmethod
84
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
84
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
85
85
  d = src_dict.copy()
86
86
  duid = d.pop("duid")
87
87
 
@@ -119,7 +119,7 @@ class StatusUpdate:
119
119
  return status_update
120
120
 
121
121
  @property
122
- def additional_keys(self) -> List[str]:
122
+ def additional_keys(self) -> list[str]:
123
123
  return list(self.additional_properties.keys())
124
124
 
125
125
  def __getitem__(self, key: str) -> Any:
@@ -1,8 +1,10 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
1
+ from typing import Any, TypeVar, Union, cast
2
2
 
3
3
  from attrs import define as _attrs_define
4
4
  from attrs import field as _attrs_field
5
5
 
6
+ from ..models.chart_aggregation import ChartAggregation
7
+
6
8
  T = TypeVar("T", bound="TableChartAdtl")
7
9
 
8
10
 
@@ -12,31 +14,44 @@ class TableChartAdtl:
12
14
  Attributes:
13
15
  column_property_duid (str):
14
16
  row_property_duid (Union[None, str]):
17
+ aggregation (ChartAggregation): * `sum` - SUM
18
+ * `avg` - AVG
19
+ * `count` - COUNT
20
+ aggregation_property_duid (Union[None, str]):
15
21
  """
16
22
 
17
23
  column_property_duid: str
18
24
  row_property_duid: Union[None, str]
19
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+ aggregation: ChartAggregation
26
+ aggregation_property_duid: Union[None, str]
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
20
28
 
21
- def to_dict(self) -> Dict[str, Any]:
29
+ def to_dict(self) -> dict[str, Any]:
22
30
  column_property_duid = self.column_property_duid
23
31
 
24
32
  row_property_duid: Union[None, str]
25
33
  row_property_duid = self.row_property_duid
26
34
 
27
- field_dict: Dict[str, Any] = {}
35
+ aggregation = self.aggregation.value
36
+
37
+ aggregation_property_duid: Union[None, str]
38
+ aggregation_property_duid = self.aggregation_property_duid
39
+
40
+ field_dict: dict[str, Any] = {}
28
41
  field_dict.update(self.additional_properties)
29
42
  field_dict.update(
30
43
  {
31
44
  "columnPropertyDuid": column_property_duid,
32
45
  "rowPropertyDuid": row_property_duid,
46
+ "aggregation": aggregation,
47
+ "aggregationPropertyDuid": aggregation_property_duid,
33
48
  }
34
49
  )
35
50
 
36
51
  return field_dict
37
52
 
38
53
  @classmethod
39
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
40
55
  d = src_dict.copy()
41
56
  column_property_duid = d.pop("columnPropertyDuid")
42
57
 
@@ -47,16 +62,27 @@ class TableChartAdtl:
47
62
 
48
63
  row_property_duid = _parse_row_property_duid(d.pop("rowPropertyDuid"))
49
64
 
65
+ aggregation = ChartAggregation(d.pop("aggregation"))
66
+
67
+ def _parse_aggregation_property_duid(data: object) -> Union[None, str]:
68
+ if data is None:
69
+ return data
70
+ return cast(Union[None, str], data)
71
+
72
+ aggregation_property_duid = _parse_aggregation_property_duid(d.pop("aggregationPropertyDuid"))
73
+
50
74
  table_chart_adtl = cls(
51
75
  column_property_duid=column_property_duid,
52
76
  row_property_duid=row_property_duid,
77
+ aggregation=aggregation,
78
+ aggregation_property_duid=aggregation_property_duid,
53
79
  )
54
80
 
55
81
  table_chart_adtl.additional_properties = d
56
82
  return table_chart_adtl
57
83
 
58
84
  @property
59
- def additional_keys(self) -> List[str]:
85
+ def additional_keys(self) -> list[str]:
60
86
  return list(self.additional_properties.keys())
61
87
 
62
88
  def __getitem__(self, key: str) -> Any:
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -64,12 +64,12 @@ class Task:
64
64
  status_duid (str):
65
65
  assigned_to_ai (bool):
66
66
  recommendation_duid (Union[None, str]):
67
- assignee_duids (List[str]):
68
- subscriber_duids (List[str]):
69
- tag_duids (List[str]):
70
- links (List['TaskLink']):
71
- attachment_duids (List[str]):
72
- relationships (List['Relationship']):
67
+ assignee_duids (list[str]):
68
+ subscriber_duids (list[str]):
69
+ tag_duids (list[str]):
70
+ links (list['TaskLink']):
71
+ attachment_duids (list[str]):
72
+ relationships (list['Relationship']):
73
73
  priority (Union[None, Priority]):
74
74
  size (Union[None, int]):
75
75
  start_at (Union[None, datetime.datetime]):
@@ -100,12 +100,12 @@ class Task:
100
100
  status_duid: str
101
101
  assigned_to_ai: bool
102
102
  recommendation_duid: Union[None, str]
103
- assignee_duids: List[str]
104
- subscriber_duids: List[str]
105
- tag_duids: List[str]
106
- links: List["TaskLink"]
107
- attachment_duids: List[str]
108
- relationships: List["Relationship"]
103
+ assignee_duids: list[str]
104
+ subscriber_duids: list[str]
105
+ tag_duids: list[str]
106
+ links: list["TaskLink"]
107
+ attachment_duids: list[str]
108
+ relationships: list["Relationship"]
109
109
  priority: Union[None, Priority]
110
110
  size: Union[None, int]
111
111
  start_at: Union[None, datetime.datetime]
@@ -116,9 +116,9 @@ class Task:
116
116
  recurs_next_at: Union[None, datetime.datetime]
117
117
  properties: "TaskProperties"
118
118
  updated_by_client_duid: Union[None, Unset, str] = UNSET
119
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
119
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
120
120
 
121
- def to_dict(self) -> Dict[str, Any]:
121
+ def to_dict(self) -> dict[str, Any]:
122
122
  from ..models.task_notion_document import TaskNotionDocument
123
123
 
124
124
  duid = self.duid
@@ -152,7 +152,7 @@ class Task:
152
152
 
153
153
  description = self.description
154
154
 
155
- notion_document: Union[Dict[str, Any], None]
155
+ notion_document: Union[None, dict[str, Any]]
156
156
  if isinstance(self.notion_document, TaskNotionDocument):
157
157
  notion_document = self.notion_document.to_dict()
158
158
  else:
@@ -229,7 +229,7 @@ class Task:
229
229
  else:
230
230
  updated_by_client_duid = self.updated_by_client_duid
231
231
 
232
- field_dict: Dict[str, Any] = {}
232
+ field_dict: dict[str, Any] = {}
233
233
  field_dict.update(self.additional_properties)
234
234
  field_dict.update(
235
235
  {
@@ -274,7 +274,7 @@ class Task:
274
274
  return field_dict
275
275
 
276
276
  @classmethod
277
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
277
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
278
278
  from ..models.relationship import Relationship
279
279
  from ..models.task_link import TaskLink
280
280
  from ..models.task_notion_document import TaskNotionDocument
@@ -350,11 +350,11 @@ class Task:
350
350
 
351
351
  recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid"))
352
352
 
353
- assignee_duids = cast(List[str], d.pop("assigneeDuids"))
353
+ assignee_duids = cast(list[str], d.pop("assigneeDuids"))
354
354
 
355
- subscriber_duids = cast(List[str], d.pop("subscriberDuids"))
355
+ subscriber_duids = cast(list[str], d.pop("subscriberDuids"))
356
356
 
357
- tag_duids = cast(List[str], d.pop("tagDuids"))
357
+ tag_duids = cast(list[str], d.pop("tagDuids"))
358
358
 
359
359
  links = []
360
360
  _links = d.pop("links")
@@ -363,7 +363,7 @@ class Task:
363
363
 
364
364
  links.append(links_item)
365
365
 
366
- attachment_duids = cast(List[str], d.pop("attachmentDuids"))
366
+ attachment_duids = cast(list[str], d.pop("attachmentDuids"))
367
367
 
368
368
  relationships = []
369
369
  _relationships = d.pop("relationships")
@@ -515,7 +515,7 @@ class Task:
515
515
  return task
516
516
 
517
517
  @property
518
- def additional_keys(self) -> List[str]:
518
+ def additional_keys(self) -> list[str]:
519
519
  return list(self.additional_properties.keys())
520
520
 
521
521
  def __getitem__(self, key: str) -> Any: