dart-tools 0.6.6__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 (256) hide show
  1. dart/__init__.py +18 -0
  2. dart/dart.py +1134 -0
  3. dart/exception.py +6 -0
  4. dart/generated/__init__.py +8 -0
  5. dart/generated/api/__init__.py +1 -0
  6. dart/generated/api/attachments/__init__.py +0 -0
  7. dart/generated/api/attachments/attachments_list.py +169 -0
  8. dart/generated/api/comments/__init__.py +0 -0
  9. dart/generated/api/comments/comments_list.py +278 -0
  10. dart/generated/api/dartboards/__init__.py +0 -0
  11. dart/generated/api/dartboards/dartboards_list.py +271 -0
  12. dart/generated/api/dashboards/__init__.py +0 -0
  13. dart/generated/api/dashboards/dashboards_list.py +184 -0
  14. dart/generated/api/docs/__init__.py +0 -0
  15. dart/generated/api/docs/docs_list.py +334 -0
  16. dart/generated/api/folders/__init__.py +0 -0
  17. dart/generated/api/folders/folders_list.py +234 -0
  18. dart/generated/api/form_fields/__init__.py +0 -0
  19. dart/generated/api/form_fields/form_fields_list.py +169 -0
  20. dart/generated/api/forms/__init__.py +0 -0
  21. dart/generated/api/forms/forms_list.py +169 -0
  22. dart/generated/api/layouts/__init__.py +0 -0
  23. dart/generated/api/layouts/layouts_list.py +169 -0
  24. dart/generated/api/links/__init__.py +0 -0
  25. dart/generated/api/links/links_list.py +169 -0
  26. dart/generated/api/options/__init__.py +0 -0
  27. dart/generated/api/options/options_list.py +229 -0
  28. dart/generated/api/properties/__init__.py +0 -0
  29. dart/generated/api/properties/properties_list.py +204 -0
  30. dart/generated/api/reactions/__init__.py +0 -0
  31. dart/generated/api/reactions/reactions_list.py +169 -0
  32. dart/generated/api/relationship_kinds/__init__.py +0 -0
  33. dart/generated/api/relationship_kinds/relationship_kinds_list.py +169 -0
  34. dart/generated/api/relationships/__init__.py +0 -0
  35. dart/generated/api/relationships/relationships_list.py +169 -0
  36. dart/generated/api/spaces/__init__.py +0 -0
  37. dart/generated/api/spaces/spaces_list.py +214 -0
  38. dart/generated/api/statuses/__init__.py +0 -0
  39. dart/generated/api/statuses/statuses_list.py +249 -0
  40. dart/generated/api/task_doc_relationships/__init__.py +0 -0
  41. dart/generated/api/task_doc_relationships/task_doc_relationships_list.py +169 -0
  42. dart/generated/api/task_kinds/__init__.py +0 -0
  43. dart/generated/api/task_kinds/task_kinds_list.py +204 -0
  44. dart/generated/api/tasks/__init__.py +0 -0
  45. dart/generated/api/tasks/tasks_list.py +446 -0
  46. dart/generated/api/tenants/__init__.py +0 -0
  47. dart/generated/api/tenants/tenants_list.py +169 -0
  48. dart/generated/api/transactions/__init__.py +0 -0
  49. dart/generated/api/transactions/transactions_create.py +176 -0
  50. dart/generated/api/user_dartboard_layouts/__init__.py +0 -0
  51. dart/generated/api/user_dartboard_layouts/user_dartboard_layouts_list.py +169 -0
  52. dart/generated/api/user_data/__init__.py +0 -0
  53. dart/generated/api/user_data/user_data_entity_retrieve.py +580 -0
  54. dart/generated/api/users/__init__.py +0 -0
  55. dart/generated/api/users/users_list.py +214 -0
  56. dart/generated/api/views/__init__.py +0 -0
  57. dart/generated/api/views/views_list.py +184 -0
  58. dart/generated/api/webhooks/__init__.py +0 -0
  59. dart/generated/api/webhooks/webhooks_list.py +169 -0
  60. dart/generated/client.py +268 -0
  61. dart/generated/errors.py +16 -0
  62. dart/generated/models/__init__.py +371 -0
  63. dart/generated/models/attachment.py +112 -0
  64. dart/generated/models/attachment_create.py +121 -0
  65. dart/generated/models/attachment_update.py +125 -0
  66. dart/generated/models/bar_chart_adtl.py +72 -0
  67. dart/generated/models/brainstorm.py +149 -0
  68. dart/generated/models/brainstorm_create.py +134 -0
  69. dart/generated/models/brainstorm_state.py +10 -0
  70. dart/generated/models/brainstorm_update.py +153 -0
  71. dart/generated/models/burn_up_chart_adtl.py +103 -0
  72. dart/generated/models/chart.py +207 -0
  73. dart/generated/models/chart_type.py +13 -0
  74. dart/generated/models/comment.py +207 -0
  75. dart/generated/models/comment_create.py +146 -0
  76. dart/generated/models/comment_reaction.py +84 -0
  77. dart/generated/models/comment_reaction_create.py +82 -0
  78. dart/generated/models/comment_reaction_update.py +87 -0
  79. dart/generated/models/comment_update.py +148 -0
  80. dart/generated/models/dartboard.py +264 -0
  81. dart/generated/models/dartboard_create.py +267 -0
  82. dart/generated/models/dartboard_kind.py +12 -0
  83. dart/generated/models/dartboard_update.py +269 -0
  84. dart/generated/models/dartboards_list_kind.py +12 -0
  85. dart/generated/models/dashboard.py +185 -0
  86. dart/generated/models/dashboard_create.py +171 -0
  87. dart/generated/models/dashboard_update.py +173 -0
  88. dart/generated/models/discord_integration.py +72 -0
  89. dart/generated/models/doc.py +243 -0
  90. dart/generated/models/doc_create.py +295 -0
  91. dart/generated/models/doc_source_type.py +13 -0
  92. dart/generated/models/doc_update.py +295 -0
  93. dart/generated/models/entity_name.py +22 -0
  94. dart/generated/models/event.py +420 -0
  95. dart/generated/models/event_actor.py +18 -0
  96. dart/generated/models/event_create.py +158 -0
  97. dart/generated/models/event_kind.py +88 -0
  98. dart/generated/models/event_subscription.py +74 -0
  99. dart/generated/models/event_subscription_update.py +173 -0
  100. dart/generated/models/filter_applicability.py +22 -0
  101. dart/generated/models/filter_assignee.py +116 -0
  102. dart/generated/models/filter_connector.py +9 -0
  103. dart/generated/models/filter_group.py +112 -0
  104. dart/generated/models/filter_search.py +82 -0
  105. dart/generated/models/filter_set.py +116 -0
  106. dart/generated/models/folder.py +150 -0
  107. dart/generated/models/folder_create.py +150 -0
  108. dart/generated/models/folder_kind.py +10 -0
  109. dart/generated/models/folder_update.py +152 -0
  110. dart/generated/models/folders_list_kind.py +10 -0
  111. dart/generated/models/form.py +147 -0
  112. dart/generated/models/form_create.py +141 -0
  113. dart/generated/models/form_field.py +144 -0
  114. dart/generated/models/form_field_create.py +129 -0
  115. dart/generated/models/form_field_update.py +132 -0
  116. dart/generated/models/form_update.py +142 -0
  117. dart/generated/models/github_integration.py +163 -0
  118. dart/generated/models/github_integration_tenant_extension_status.py +11 -0
  119. dart/generated/models/google_data.py +94 -0
  120. dart/generated/models/icon_kind.py +10 -0
  121. dart/generated/models/layout.py +167 -0
  122. dart/generated/models/layout_config.py +70 -0
  123. dart/generated/models/layout_create.py +130 -0
  124. dart/generated/models/layout_kind.py +11 -0
  125. dart/generated/models/layout_kind_config_map.py +56 -0
  126. dart/generated/models/layout_update.py +130 -0
  127. dart/generated/models/line_chart_adtl.py +72 -0
  128. dart/generated/models/models_response.py +671 -0
  129. dart/generated/models/notification.py +120 -0
  130. dart/generated/models/notification_update.py +100 -0
  131. dart/generated/models/notion_integration.py +90 -0
  132. dart/generated/models/notion_integration_tenant_extension_status.py +10 -0
  133. dart/generated/models/number_chart_adtl.py +85 -0
  134. dart/generated/models/number_chart_aggregation.py +10 -0
  135. dart/generated/models/operation.py +874 -0
  136. dart/generated/models/operation_kind.py +12 -0
  137. dart/generated/models/operation_model_kind.py +36 -0
  138. dart/generated/models/option.py +118 -0
  139. dart/generated/models/option_create.py +105 -0
  140. dart/generated/models/option_update.py +107 -0
  141. dart/generated/models/paginated_attachment_list.py +122 -0
  142. dart/generated/models/paginated_comment_list.py +122 -0
  143. dart/generated/models/paginated_comment_reaction_list.py +122 -0
  144. dart/generated/models/paginated_dartboard_list.py +122 -0
  145. dart/generated/models/paginated_dashboard_list.py +122 -0
  146. dart/generated/models/paginated_doc_list.py +122 -0
  147. dart/generated/models/paginated_folder_list.py +122 -0
  148. dart/generated/models/paginated_form_field_list.py +122 -0
  149. dart/generated/models/paginated_form_list.py +122 -0
  150. dart/generated/models/paginated_layout_list.py +122 -0
  151. dart/generated/models/paginated_option_list.py +122 -0
  152. dart/generated/models/paginated_property_list.py +122 -0
  153. dart/generated/models/paginated_relationship_kind_list.py +122 -0
  154. dart/generated/models/paginated_relationship_list.py +122 -0
  155. dart/generated/models/paginated_space_list.py +122 -0
  156. dart/generated/models/paginated_status_list.py +122 -0
  157. dart/generated/models/paginated_task_doc_relationship_list.py +122 -0
  158. dart/generated/models/paginated_task_kind_list.py +122 -0
  159. dart/generated/models/paginated_task_link_list.py +122 -0
  160. dart/generated/models/paginated_task_list.py +122 -0
  161. dart/generated/models/paginated_tenant_list.py +122 -0
  162. dart/generated/models/paginated_user_dartboard_layout_list.py +122 -0
  163. dart/generated/models/paginated_user_list.py +122 -0
  164. dart/generated/models/paginated_view_list.py +122 -0
  165. dart/generated/models/paginated_webhook_list.py +122 -0
  166. dart/generated/models/pie_chart_adtl.py +69 -0
  167. dart/generated/models/pie_chart_display_metric.py +9 -0
  168. dart/generated/models/priority.py +11 -0
  169. dart/generated/models/properties_list_kind.py +32 -0
  170. dart/generated/models/property_.py +153 -0
  171. dart/generated/models/property_create.py +137 -0
  172. dart/generated/models/property_kind.py +32 -0
  173. dart/generated/models/property_update.py +146 -0
  174. dart/generated/models/relationship.py +74 -0
  175. dart/generated/models/relationship_create.py +93 -0
  176. dart/generated/models/relationship_kind.py +123 -0
  177. dart/generated/models/relationship_kind_create.py +117 -0
  178. dart/generated/models/relationship_kind_kind.py +12 -0
  179. dart/generated/models/relationship_kind_update.py +119 -0
  180. dart/generated/models/report_kind.py +9 -0
  181. dart/generated/models/request_body.py +80 -0
  182. dart/generated/models/response_body.py +72 -0
  183. dart/generated/models/saml_config.py +77 -0
  184. dart/generated/models/saml_config_tenant_extension_status.py +9 -0
  185. dart/generated/models/slack_integration.py +90 -0
  186. dart/generated/models/slack_integration_tenant_extension_status.py +10 -0
  187. dart/generated/models/sort.py +66 -0
  188. dart/generated/models/space.py +286 -0
  189. dart/generated/models/space_create.py +310 -0
  190. dart/generated/models/space_kind.py +10 -0
  191. dart/generated/models/space_update.py +311 -0
  192. dart/generated/models/sprint_mode.py +9 -0
  193. dart/generated/models/status.py +141 -0
  194. dart/generated/models/status_create.py +125 -0
  195. dart/generated/models/status_kind.py +12 -0
  196. dart/generated/models/status_update.py +135 -0
  197. dart/generated/models/statuses_list_kind.py +12 -0
  198. dart/generated/models/subscription.py +9 -0
  199. dart/generated/models/subtask_display_mode.py +10 -0
  200. dart/generated/models/summary_statistic_kind.py +14 -0
  201. dart/generated/models/table_chart_adtl.py +72 -0
  202. dart/generated/models/task.py +531 -0
  203. dart/generated/models/task_create.py +585 -0
  204. dart/generated/models/task_detail_mode.py +10 -0
  205. dart/generated/models/task_doc_relationship.py +96 -0
  206. dart/generated/models/task_doc_relationship_create.py +74 -0
  207. dart/generated/models/task_kind.py +149 -0
  208. dart/generated/models/task_kind_create.py +144 -0
  209. dart/generated/models/task_kind_kind.py +9 -0
  210. dart/generated/models/task_kind_update.py +153 -0
  211. dart/generated/models/task_kinds_list_kind.py +9 -0
  212. dart/generated/models/task_link.py +131 -0
  213. dart/generated/models/task_link_create.py +152 -0
  214. dart/generated/models/task_link_kind.py +19 -0
  215. dart/generated/models/task_link_update.py +155 -0
  216. dart/generated/models/task_notion_document.py +196 -0
  217. dart/generated/models/task_notion_document_block_children_map_type_0.py +43 -0
  218. dart/generated/models/task_notion_document_block_map_type_0.py +43 -0
  219. dart/generated/models/task_notion_document_page_map_type_0.py +43 -0
  220. dart/generated/models/task_properties.py +43 -0
  221. dart/generated/models/task_source_type.py +31 -0
  222. dart/generated/models/task_update.py +585 -0
  223. dart/generated/models/tenant.py +378 -0
  224. dart/generated/models/tenant_update.py +157 -0
  225. dart/generated/models/theme.py +10 -0
  226. dart/generated/models/transaction.py +155 -0
  227. dart/generated/models/transaction_kind.py +73 -0
  228. dart/generated/models/transaction_response.py +96 -0
  229. dart/generated/models/user.py +245 -0
  230. dart/generated/models/user_dartboard_layout.py +66 -0
  231. dart/generated/models/user_dartboard_layout_create.py +74 -0
  232. dart/generated/models/user_data_entity_retrieve_entity_kind.py +32 -0
  233. dart/generated/models/user_role.py +12 -0
  234. dart/generated/models/user_status.py +12 -0
  235. dart/generated/models/user_update.py +190 -0
  236. dart/generated/models/validation_error_response.py +64 -0
  237. dart/generated/models/validation_error_response_items.py +43 -0
  238. dart/generated/models/view.py +207 -0
  239. dart/generated/models/view_create.py +204 -0
  240. dart/generated/models/view_kind.py +11 -0
  241. dart/generated/models/view_update.py +206 -0
  242. dart/generated/models/webhook.py +96 -0
  243. dart/generated/models/webhook_create.py +77 -0
  244. dart/generated/models/webhook_update.py +78 -0
  245. dart/generated/models/zapier_integration.py +66 -0
  246. dart/generated/py.typed +1 -0
  247. dart/generated/types.py +45 -0
  248. dart/order_manager.py +59 -0
  249. dart/webhook.py +21 -0
  250. dart_tools-0.6.6.dist-info/LICENSE +21 -0
  251. dart_tools-0.6.6.dist-info/METADATA +183 -0
  252. dart_tools-0.6.6.dist-info/RECORD +256 -0
  253. dart_tools-0.6.6.dist-info/WHEEL +5 -0
  254. dart_tools-0.6.6.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  255. dart_tools-0.6.6.dist-info/entry_points.txt +2 -0
  256. dart_tools-0.6.6.dist-info/top_level.txt +1 -0
@@ -0,0 +1,112 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="Attachment")
7
+
8
+
9
+ @_attrs_define
10
+ class Attachment:
11
+ """
12
+ Attributes:
13
+ duid (str):
14
+ order (str):
15
+ name (str):
16
+ kind (str):
17
+ file_url (str):
18
+ color_hex (str):
19
+ recommendation_duid (Union[None, str]):
20
+ """
21
+
22
+ duid: str
23
+ order: str
24
+ name: str
25
+ kind: str
26
+ file_url: str
27
+ color_hex: str
28
+ recommendation_duid: Union[None, str]
29
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> Dict[str, Any]:
32
+ duid = self.duid
33
+
34
+ order = self.order
35
+
36
+ name = self.name
37
+
38
+ kind = self.kind
39
+
40
+ file_url = self.file_url
41
+
42
+ color_hex = self.color_hex
43
+
44
+ recommendation_duid: Union[None, str]
45
+ recommendation_duid = self.recommendation_duid
46
+
47
+ field_dict: Dict[str, Any] = {}
48
+ field_dict.update(self.additional_properties)
49
+ field_dict.update(
50
+ {
51
+ "duid": duid,
52
+ "order": order,
53
+ "name": name,
54
+ "kind": kind,
55
+ "fileUrl": file_url,
56
+ "colorHex": color_hex,
57
+ "recommendationDuid": recommendation_duid,
58
+ }
59
+ )
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
65
+ d = src_dict.copy()
66
+ duid = d.pop("duid")
67
+
68
+ order = d.pop("order")
69
+
70
+ name = d.pop("name")
71
+
72
+ kind = d.pop("kind")
73
+
74
+ file_url = d.pop("fileUrl")
75
+
76
+ color_hex = d.pop("colorHex")
77
+
78
+ def _parse_recommendation_duid(data: object) -> Union[None, str]:
79
+ if data is None:
80
+ return data
81
+ return cast(Union[None, str], data)
82
+
83
+ recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid"))
84
+
85
+ attachment = cls(
86
+ duid=duid,
87
+ order=order,
88
+ name=name,
89
+ kind=kind,
90
+ file_url=file_url,
91
+ color_hex=color_hex,
92
+ recommendation_duid=recommendation_duid,
93
+ )
94
+
95
+ attachment.additional_properties = d
96
+ return attachment
97
+
98
+ @property
99
+ def additional_keys(self) -> List[str]:
100
+ return list(self.additional_properties.keys())
101
+
102
+ def __getitem__(self, key: str) -> Any:
103
+ return self.additional_properties[key]
104
+
105
+ def __setitem__(self, key: str, value: Any) -> None:
106
+ self.additional_properties[key] = value
107
+
108
+ def __delitem__(self, key: str) -> None:
109
+ del self.additional_properties[key]
110
+
111
+ def __contains__(self, key: str) -> bool:
112
+ return key in self.additional_properties
@@ -0,0 +1,121 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="AttachmentCreate")
9
+
10
+
11
+ @_attrs_define
12
+ class AttachmentCreate:
13
+ """
14
+ Attributes:
15
+ duid (str):
16
+ order (str):
17
+ name (str):
18
+ kind (str):
19
+ file_path (str):
20
+ color_hex (Union[Unset, str]):
21
+ recommendation_duid (Union[None, Unset, str]):
22
+ """
23
+
24
+ duid: str
25
+ order: str
26
+ name: str
27
+ kind: str
28
+ file_path: str
29
+ color_hex: Union[Unset, str] = UNSET
30
+ recommendation_duid: Union[None, Unset, str] = UNSET
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ duid = self.duid
35
+
36
+ order = self.order
37
+
38
+ name = self.name
39
+
40
+ kind = self.kind
41
+
42
+ file_path = self.file_path
43
+
44
+ color_hex = self.color_hex
45
+
46
+ recommendation_duid: Union[None, Unset, str]
47
+ if isinstance(self.recommendation_duid, Unset):
48
+ recommendation_duid = UNSET
49
+ else:
50
+ recommendation_duid = self.recommendation_duid
51
+
52
+ field_dict: Dict[str, Any] = {}
53
+ field_dict.update(self.additional_properties)
54
+ field_dict.update(
55
+ {
56
+ "duid": duid,
57
+ "order": order,
58
+ "name": name,
59
+ "kind": kind,
60
+ "filePath": file_path,
61
+ }
62
+ )
63
+ if color_hex is not UNSET:
64
+ field_dict["colorHex"] = color_hex
65
+ if recommendation_duid is not UNSET:
66
+ field_dict["recommendationDuid"] = recommendation_duid
67
+
68
+ return field_dict
69
+
70
+ @classmethod
71
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
72
+ d = src_dict.copy()
73
+ duid = d.pop("duid")
74
+
75
+ order = d.pop("order")
76
+
77
+ name = d.pop("name")
78
+
79
+ kind = d.pop("kind")
80
+
81
+ file_path = d.pop("filePath")
82
+
83
+ color_hex = d.pop("colorHex", UNSET)
84
+
85
+ def _parse_recommendation_duid(data: object) -> Union[None, Unset, str]:
86
+ if data is None:
87
+ return data
88
+ if isinstance(data, Unset):
89
+ return data
90
+ return cast(Union[None, Unset, str], data)
91
+
92
+ recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid", UNSET))
93
+
94
+ attachment_create = cls(
95
+ duid=duid,
96
+ order=order,
97
+ name=name,
98
+ kind=kind,
99
+ file_path=file_path,
100
+ color_hex=color_hex,
101
+ recommendation_duid=recommendation_duid,
102
+ )
103
+
104
+ attachment_create.additional_properties = d
105
+ return attachment_create
106
+
107
+ @property
108
+ def additional_keys(self) -> List[str]:
109
+ return list(self.additional_properties.keys())
110
+
111
+ def __getitem__(self, key: str) -> Any:
112
+ return self.additional_properties[key]
113
+
114
+ def __setitem__(self, key: str, value: Any) -> None:
115
+ self.additional_properties[key] = value
116
+
117
+ def __delitem__(self, key: str) -> None:
118
+ del self.additional_properties[key]
119
+
120
+ def __contains__(self, key: str) -> bool:
121
+ return key in self.additional_properties
@@ -0,0 +1,125 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="AttachmentUpdate")
9
+
10
+
11
+ @_attrs_define
12
+ class AttachmentUpdate:
13
+ """
14
+ Attributes:
15
+ duid (str):
16
+ order (Union[Unset, str]):
17
+ name (Union[Unset, str]):
18
+ kind (Union[Unset, str]):
19
+ file_path (Union[Unset, str]):
20
+ color_hex (Union[Unset, str]):
21
+ recommendation_duid (Union[None, Unset, str]):
22
+ """
23
+
24
+ duid: str
25
+ order: Union[Unset, str] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ kind: Union[Unset, str] = UNSET
28
+ file_path: Union[Unset, str] = UNSET
29
+ color_hex: Union[Unset, str] = UNSET
30
+ recommendation_duid: Union[None, Unset, str] = UNSET
31
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> Dict[str, Any]:
34
+ duid = self.duid
35
+
36
+ order = self.order
37
+
38
+ name = self.name
39
+
40
+ kind = self.kind
41
+
42
+ file_path = self.file_path
43
+
44
+ color_hex = self.color_hex
45
+
46
+ recommendation_duid: Union[None, Unset, str]
47
+ if isinstance(self.recommendation_duid, Unset):
48
+ recommendation_duid = UNSET
49
+ else:
50
+ recommendation_duid = self.recommendation_duid
51
+
52
+ field_dict: Dict[str, Any] = {}
53
+ field_dict.update(self.additional_properties)
54
+ field_dict.update(
55
+ {
56
+ "duid": duid,
57
+ }
58
+ )
59
+ if order is not UNSET:
60
+ field_dict["order"] = order
61
+ if name is not UNSET:
62
+ field_dict["name"] = name
63
+ if kind is not UNSET:
64
+ field_dict["kind"] = kind
65
+ if file_path is not UNSET:
66
+ field_dict["filePath"] = file_path
67
+ if color_hex is not UNSET:
68
+ field_dict["colorHex"] = color_hex
69
+ if recommendation_duid is not UNSET:
70
+ field_dict["recommendationDuid"] = recommendation_duid
71
+
72
+ return field_dict
73
+
74
+ @classmethod
75
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
76
+ d = src_dict.copy()
77
+ duid = d.pop("duid")
78
+
79
+ order = d.pop("order", UNSET)
80
+
81
+ name = d.pop("name", UNSET)
82
+
83
+ kind = d.pop("kind", UNSET)
84
+
85
+ file_path = d.pop("filePath", UNSET)
86
+
87
+ color_hex = d.pop("colorHex", UNSET)
88
+
89
+ def _parse_recommendation_duid(data: object) -> Union[None, Unset, str]:
90
+ if data is None:
91
+ return data
92
+ if isinstance(data, Unset):
93
+ return data
94
+ return cast(Union[None, Unset, str], data)
95
+
96
+ recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid", UNSET))
97
+
98
+ attachment_update = cls(
99
+ duid=duid,
100
+ order=order,
101
+ name=name,
102
+ kind=kind,
103
+ file_path=file_path,
104
+ color_hex=color_hex,
105
+ recommendation_duid=recommendation_duid,
106
+ )
107
+
108
+ attachment_update.additional_properties = d
109
+ return attachment_update
110
+
111
+ @property
112
+ def additional_keys(self) -> List[str]:
113
+ return list(self.additional_properties.keys())
114
+
115
+ def __getitem__(self, key: str) -> Any:
116
+ return self.additional_properties[key]
117
+
118
+ def __setitem__(self, key: str, value: Any) -> None:
119
+ self.additional_properties[key] = value
120
+
121
+ def __delitem__(self, key: str) -> None:
122
+ del self.additional_properties[key]
123
+
124
+ def __contains__(self, key: str) -> bool:
125
+ return key in self.additional_properties
@@ -0,0 +1,72 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="BarChartAdtl")
7
+
8
+
9
+ @_attrs_define
10
+ class BarChartAdtl:
11
+ """
12
+ Attributes:
13
+ x_property_duid (str):
14
+ stack_property_duid (Union[None, str]):
15
+ """
16
+
17
+ x_property_duid: str
18
+ stack_property_duid: Union[None, str]
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ x_property_duid = self.x_property_duid
23
+
24
+ stack_property_duid: Union[None, str]
25
+ stack_property_duid = self.stack_property_duid
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update(
30
+ {
31
+ "xPropertyDuid": x_property_duid,
32
+ "stackPropertyDuid": stack_property_duid,
33
+ }
34
+ )
35
+
36
+ return field_dict
37
+
38
+ @classmethod
39
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
40
+ d = src_dict.copy()
41
+ x_property_duid = d.pop("xPropertyDuid")
42
+
43
+ def _parse_stack_property_duid(data: object) -> Union[None, str]:
44
+ if data is None:
45
+ return data
46
+ return cast(Union[None, str], data)
47
+
48
+ stack_property_duid = _parse_stack_property_duid(d.pop("stackPropertyDuid"))
49
+
50
+ bar_chart_adtl = cls(
51
+ x_property_duid=x_property_duid,
52
+ stack_property_duid=stack_property_duid,
53
+ )
54
+
55
+ bar_chart_adtl.additional_properties = d
56
+ return bar_chart_adtl
57
+
58
+ @property
59
+ def additional_keys(self) -> List[str]:
60
+ return list(self.additional_properties.keys())
61
+
62
+ def __getitem__(self, key: str) -> Any:
63
+ return self.additional_properties[key]
64
+
65
+ def __setitem__(self, key: str, value: Any) -> None:
66
+ self.additional_properties[key] = value
67
+
68
+ def __delitem__(self, key: str) -> None:
69
+ del self.additional_properties[key]
70
+
71
+ def __contains__(self, key: str) -> bool:
72
+ return key in self.additional_properties
@@ -0,0 +1,149 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..models.brainstorm_state import BrainstormState
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="Brainstorm")
12
+
13
+
14
+ @_attrs_define
15
+ class Brainstorm:
16
+ """
17
+ Attributes:
18
+ duid (str):
19
+ dartboard_duid (str):
20
+ subject (str):
21
+ ai (bool):
22
+ total_session_ms (int):
23
+ started_at (datetime.datetime):
24
+ state (BrainstormState): * `Running` - RUNNING
25
+ * `Paused` - PAUSED
26
+ * `Stopped` - STOPPED
27
+ after_start_ms (int):
28
+ created_tasks_duids (List[str]):
29
+ updated_by_client_duid (Union[None, Unset, str]):
30
+ """
31
+
32
+ duid: str
33
+ dartboard_duid: str
34
+ subject: str
35
+ ai: bool
36
+ total_session_ms: int
37
+ started_at: datetime.datetime
38
+ state: BrainstormState
39
+ after_start_ms: int
40
+ created_tasks_duids: List[str]
41
+ updated_by_client_duid: Union[None, Unset, str] = UNSET
42
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
43
+
44
+ def to_dict(self) -> Dict[str, Any]:
45
+ duid = self.duid
46
+
47
+ dartboard_duid = self.dartboard_duid
48
+
49
+ subject = self.subject
50
+
51
+ ai = self.ai
52
+
53
+ total_session_ms = self.total_session_ms
54
+
55
+ started_at = self.started_at.isoformat()
56
+
57
+ state = self.state.value
58
+
59
+ after_start_ms = self.after_start_ms
60
+
61
+ created_tasks_duids = self.created_tasks_duids
62
+
63
+ updated_by_client_duid: Union[None, Unset, str]
64
+ if isinstance(self.updated_by_client_duid, Unset):
65
+ updated_by_client_duid = UNSET
66
+ else:
67
+ updated_by_client_duid = self.updated_by_client_duid
68
+
69
+ field_dict: Dict[str, Any] = {}
70
+ field_dict.update(self.additional_properties)
71
+ field_dict.update(
72
+ {
73
+ "duid": duid,
74
+ "dartboardDuid": dartboard_duid,
75
+ "subject": subject,
76
+ "ai": ai,
77
+ "totalSessionMs": total_session_ms,
78
+ "startedAt": started_at,
79
+ "state": state,
80
+ "afterStartMs": after_start_ms,
81
+ "createdTasksDuids": created_tasks_duids,
82
+ }
83
+ )
84
+ if updated_by_client_duid is not UNSET:
85
+ field_dict["updatedByClientDuid"] = updated_by_client_duid
86
+
87
+ return field_dict
88
+
89
+ @classmethod
90
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
91
+ d = src_dict.copy()
92
+ duid = d.pop("duid")
93
+
94
+ dartboard_duid = d.pop("dartboardDuid")
95
+
96
+ subject = d.pop("subject")
97
+
98
+ ai = d.pop("ai")
99
+
100
+ total_session_ms = d.pop("totalSessionMs")
101
+
102
+ started_at = isoparse(d.pop("startedAt"))
103
+
104
+ state = BrainstormState(d.pop("state"))
105
+
106
+ after_start_ms = d.pop("afterStartMs")
107
+
108
+ created_tasks_duids = cast(List[str], d.pop("createdTasksDuids"))
109
+
110
+ def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
111
+ if data is None:
112
+ return data
113
+ if isinstance(data, Unset):
114
+ return data
115
+ return cast(Union[None, Unset, str], data)
116
+
117
+ updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
118
+
119
+ brainstorm = cls(
120
+ duid=duid,
121
+ dartboard_duid=dartboard_duid,
122
+ subject=subject,
123
+ ai=ai,
124
+ total_session_ms=total_session_ms,
125
+ started_at=started_at,
126
+ state=state,
127
+ after_start_ms=after_start_ms,
128
+ created_tasks_duids=created_tasks_duids,
129
+ updated_by_client_duid=updated_by_client_duid,
130
+ )
131
+
132
+ brainstorm.additional_properties = d
133
+ return brainstorm
134
+
135
+ @property
136
+ def additional_keys(self) -> List[str]:
137
+ return list(self.additional_properties.keys())
138
+
139
+ def __getitem__(self, key: str) -> Any:
140
+ return self.additional_properties[key]
141
+
142
+ def __setitem__(self, key: str, value: Any) -> None:
143
+ self.additional_properties[key] = value
144
+
145
+ def __delitem__(self, key: str) -> None:
146
+ del self.additional_properties[key]
147
+
148
+ def __contains__(self, key: str) -> bool:
149
+ return key in self.additional_properties
@@ -0,0 +1,134 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..models.brainstorm_state import BrainstormState
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="BrainstormCreate")
12
+
13
+
14
+ @_attrs_define
15
+ class BrainstormCreate:
16
+ """
17
+ Attributes:
18
+ duid (str):
19
+ dartboard_duid (str):
20
+ subject (str):
21
+ ai (bool):
22
+ started_at (datetime.datetime):
23
+ state (BrainstormState): * `Running` - RUNNING
24
+ * `Paused` - PAUSED
25
+ * `Stopped` - STOPPED
26
+ total_session_ms (Union[Unset, int]):
27
+ after_start_ms (Union[Unset, int]):
28
+ created_tasks_duids (Union[Unset, List[str]]):
29
+ """
30
+
31
+ duid: str
32
+ dartboard_duid: str
33
+ subject: str
34
+ ai: bool
35
+ started_at: datetime.datetime
36
+ state: BrainstormState
37
+ total_session_ms: Union[Unset, int] = UNSET
38
+ after_start_ms: Union[Unset, int] = UNSET
39
+ created_tasks_duids: Union[Unset, List[str]] = UNSET
40
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
41
+
42
+ def to_dict(self) -> Dict[str, Any]:
43
+ duid = self.duid
44
+
45
+ dartboard_duid = self.dartboard_duid
46
+
47
+ subject = self.subject
48
+
49
+ ai = self.ai
50
+
51
+ started_at = self.started_at.isoformat()
52
+
53
+ state = self.state.value
54
+
55
+ total_session_ms = self.total_session_ms
56
+
57
+ after_start_ms = self.after_start_ms
58
+
59
+ created_tasks_duids: Union[Unset, List[str]] = UNSET
60
+ if not isinstance(self.created_tasks_duids, Unset):
61
+ created_tasks_duids = self.created_tasks_duids
62
+
63
+ field_dict: Dict[str, Any] = {}
64
+ field_dict.update(self.additional_properties)
65
+ field_dict.update(
66
+ {
67
+ "duid": duid,
68
+ "dartboardDuid": dartboard_duid,
69
+ "subject": subject,
70
+ "ai": ai,
71
+ "startedAt": started_at,
72
+ "state": state,
73
+ }
74
+ )
75
+ if total_session_ms is not UNSET:
76
+ field_dict["totalSessionMs"] = total_session_ms
77
+ if after_start_ms is not UNSET:
78
+ field_dict["afterStartMs"] = after_start_ms
79
+ if created_tasks_duids is not UNSET:
80
+ field_dict["createdTasksDuids"] = created_tasks_duids
81
+
82
+ return field_dict
83
+
84
+ @classmethod
85
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
86
+ d = src_dict.copy()
87
+ duid = d.pop("duid")
88
+
89
+ dartboard_duid = d.pop("dartboardDuid")
90
+
91
+ subject = d.pop("subject")
92
+
93
+ ai = d.pop("ai")
94
+
95
+ started_at = isoparse(d.pop("startedAt"))
96
+
97
+ state = BrainstormState(d.pop("state"))
98
+
99
+ total_session_ms = d.pop("totalSessionMs", UNSET)
100
+
101
+ after_start_ms = d.pop("afterStartMs", UNSET)
102
+
103
+ created_tasks_duids = cast(List[str], d.pop("createdTasksDuids", UNSET))
104
+
105
+ brainstorm_create = cls(
106
+ duid=duid,
107
+ dartboard_duid=dartboard_duid,
108
+ subject=subject,
109
+ ai=ai,
110
+ started_at=started_at,
111
+ state=state,
112
+ total_session_ms=total_session_ms,
113
+ after_start_ms=after_start_ms,
114
+ created_tasks_duids=created_tasks_duids,
115
+ )
116
+
117
+ brainstorm_create.additional_properties = d
118
+ return brainstorm_create
119
+
120
+ @property
121
+ def additional_keys(self) -> List[str]:
122
+ return list(self.additional_properties.keys())
123
+
124
+ def __getitem__(self, key: str) -> Any:
125
+ return self.additional_properties[key]
126
+
127
+ def __setitem__(self, key: str, value: Any) -> None:
128
+ self.additional_properties[key] = value
129
+
130
+ def __delitem__(self, key: str) -> None:
131
+ del self.additional_properties[key]
132
+
133
+ def __contains__(self, key: str) -> bool:
134
+ return key in self.additional_properties