dart-tools 0.6.11__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 (257) hide show
  1. dart/__init__.py +20 -0
  2. dart/dart.py +1144 -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 +372 -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 +373 -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 +208 -0
  73. dart/generated/models/chart_aggregation.py +10 -0
  74. dart/generated/models/chart_type.py +14 -0
  75. dart/generated/models/comment.py +207 -0
  76. dart/generated/models/comment_create.py +146 -0
  77. dart/generated/models/comment_reaction.py +84 -0
  78. dart/generated/models/comment_reaction_create.py +82 -0
  79. dart/generated/models/comment_reaction_update.py +87 -0
  80. dart/generated/models/comment_update.py +148 -0
  81. dart/generated/models/dartboard.py +280 -0
  82. dart/generated/models/dartboard_create.py +285 -0
  83. dart/generated/models/dartboard_kind.py +12 -0
  84. dart/generated/models/dartboard_update.py +287 -0
  85. dart/generated/models/dartboards_list_kind.py +12 -0
  86. dart/generated/models/dashboard.py +185 -0
  87. dart/generated/models/dashboard_create.py +171 -0
  88. dart/generated/models/dashboard_update.py +173 -0
  89. dart/generated/models/discord_integration.py +72 -0
  90. dart/generated/models/doc.py +243 -0
  91. dart/generated/models/doc_create.py +295 -0
  92. dart/generated/models/doc_source_type.py +13 -0
  93. dart/generated/models/doc_update.py +295 -0
  94. dart/generated/models/docs_list_o_item.py +11 -0
  95. dart/generated/models/entity_name.py +22 -0
  96. dart/generated/models/event.py +420 -0
  97. dart/generated/models/event_actor.py +19 -0
  98. dart/generated/models/event_create.py +158 -0
  99. dart/generated/models/event_kind.py +88 -0
  100. dart/generated/models/event_subscription.py +74 -0
  101. dart/generated/models/event_subscription_update.py +173 -0
  102. dart/generated/models/filter_applicability.py +22 -0
  103. dart/generated/models/filter_assignee.py +116 -0
  104. dart/generated/models/filter_connector.py +9 -0
  105. dart/generated/models/filter_group.py +112 -0
  106. dart/generated/models/filter_search.py +82 -0
  107. dart/generated/models/filter_set.py +116 -0
  108. dart/generated/models/folder.py +150 -0
  109. dart/generated/models/folder_create.py +150 -0
  110. dart/generated/models/folder_kind.py +10 -0
  111. dart/generated/models/folder_update.py +152 -0
  112. dart/generated/models/folders_list_kind.py +10 -0
  113. dart/generated/models/form.py +147 -0
  114. dart/generated/models/form_create.py +141 -0
  115. dart/generated/models/form_field.py +144 -0
  116. dart/generated/models/form_field_create.py +129 -0
  117. dart/generated/models/form_field_update.py +132 -0
  118. dart/generated/models/form_update.py +142 -0
  119. dart/generated/models/github_integration.py +163 -0
  120. dart/generated/models/github_integration_tenant_extension_status.py +11 -0
  121. dart/generated/models/google_data.py +94 -0
  122. dart/generated/models/icon_kind.py +10 -0
  123. dart/generated/models/layout.py +167 -0
  124. dart/generated/models/layout_config.py +70 -0
  125. dart/generated/models/layout_create.py +130 -0
  126. dart/generated/models/layout_kind.py +11 -0
  127. dart/generated/models/layout_kind_config_map.py +56 -0
  128. dart/generated/models/layout_update.py +130 -0
  129. dart/generated/models/line_chart_adtl.py +72 -0
  130. dart/generated/models/models_response.py +671 -0
  131. dart/generated/models/notification.py +120 -0
  132. dart/generated/models/notification_update.py +100 -0
  133. dart/generated/models/notion_integration.py +90 -0
  134. dart/generated/models/notion_integration_tenant_extension_status.py +10 -0
  135. dart/generated/models/number_chart_adtl.py +77 -0
  136. dart/generated/models/operation.py +874 -0
  137. dart/generated/models/operation_kind.py +12 -0
  138. dart/generated/models/operation_model_kind.py +36 -0
  139. dart/generated/models/option.py +118 -0
  140. dart/generated/models/option_create.py +105 -0
  141. dart/generated/models/option_update.py +107 -0
  142. dart/generated/models/paginated_attachment_list.py +122 -0
  143. dart/generated/models/paginated_comment_list.py +122 -0
  144. dart/generated/models/paginated_comment_reaction_list.py +122 -0
  145. dart/generated/models/paginated_dartboard_list.py +122 -0
  146. dart/generated/models/paginated_dashboard_list.py +122 -0
  147. dart/generated/models/paginated_doc_list.py +122 -0
  148. dart/generated/models/paginated_folder_list.py +122 -0
  149. dart/generated/models/paginated_form_field_list.py +122 -0
  150. dart/generated/models/paginated_form_list.py +122 -0
  151. dart/generated/models/paginated_layout_list.py +122 -0
  152. dart/generated/models/paginated_option_list.py +122 -0
  153. dart/generated/models/paginated_property_list.py +122 -0
  154. dart/generated/models/paginated_relationship_kind_list.py +122 -0
  155. dart/generated/models/paginated_relationship_list.py +122 -0
  156. dart/generated/models/paginated_space_list.py +122 -0
  157. dart/generated/models/paginated_status_list.py +122 -0
  158. dart/generated/models/paginated_task_doc_relationship_list.py +122 -0
  159. dart/generated/models/paginated_task_kind_list.py +122 -0
  160. dart/generated/models/paginated_task_link_list.py +122 -0
  161. dart/generated/models/paginated_task_list.py +122 -0
  162. dart/generated/models/paginated_tenant_list.py +122 -0
  163. dart/generated/models/paginated_user_dartboard_layout_list.py +122 -0
  164. dart/generated/models/paginated_user_list.py +122 -0
  165. dart/generated/models/paginated_view_list.py +122 -0
  166. dart/generated/models/paginated_webhook_list.py +122 -0
  167. dart/generated/models/pie_chart_adtl.py +69 -0
  168. dart/generated/models/pie_chart_display_metric.py +9 -0
  169. dart/generated/models/priority.py +11 -0
  170. dart/generated/models/properties_list_kind.py +32 -0
  171. dart/generated/models/property_.py +153 -0
  172. dart/generated/models/property_create.py +137 -0
  173. dart/generated/models/property_kind.py +32 -0
  174. dart/generated/models/property_update.py +146 -0
  175. dart/generated/models/relationship.py +74 -0
  176. dart/generated/models/relationship_create.py +93 -0
  177. dart/generated/models/relationship_kind.py +123 -0
  178. dart/generated/models/relationship_kind_create.py +117 -0
  179. dart/generated/models/relationship_kind_kind.py +12 -0
  180. dart/generated/models/relationship_kind_update.py +119 -0
  181. dart/generated/models/report_kind.py +9 -0
  182. dart/generated/models/request_body.py +80 -0
  183. dart/generated/models/response_body.py +72 -0
  184. dart/generated/models/saml_config.py +77 -0
  185. dart/generated/models/saml_config_tenant_extension_status.py +9 -0
  186. dart/generated/models/slack_integration.py +90 -0
  187. dart/generated/models/slack_integration_tenant_extension_status.py +10 -0
  188. dart/generated/models/sort.py +66 -0
  189. dart/generated/models/space.py +325 -0
  190. dart/generated/models/space_create.py +360 -0
  191. dart/generated/models/space_kind.py +10 -0
  192. dart/generated/models/space_update.py +361 -0
  193. dart/generated/models/sprint_mode.py +9 -0
  194. dart/generated/models/status.py +141 -0
  195. dart/generated/models/status_create.py +125 -0
  196. dart/generated/models/status_kind.py +12 -0
  197. dart/generated/models/status_update.py +135 -0
  198. dart/generated/models/statuses_list_kind.py +12 -0
  199. dart/generated/models/subscription.py +9 -0
  200. dart/generated/models/subtask_display_mode.py +10 -0
  201. dart/generated/models/summary_statistic_kind.py +14 -0
  202. dart/generated/models/table_chart_adtl.py +98 -0
  203. dart/generated/models/task.py +531 -0
  204. dart/generated/models/task_create.py +585 -0
  205. dart/generated/models/task_detail_mode.py +10 -0
  206. dart/generated/models/task_doc_relationship.py +96 -0
  207. dart/generated/models/task_doc_relationship_create.py +74 -0
  208. dart/generated/models/task_kind.py +149 -0
  209. dart/generated/models/task_kind_create.py +144 -0
  210. dart/generated/models/task_kind_kind.py +9 -0
  211. dart/generated/models/task_kind_update.py +153 -0
  212. dart/generated/models/task_kinds_list_kind.py +9 -0
  213. dart/generated/models/task_link.py +131 -0
  214. dart/generated/models/task_link_create.py +152 -0
  215. dart/generated/models/task_link_kind.py +19 -0
  216. dart/generated/models/task_link_update.py +155 -0
  217. dart/generated/models/task_notion_document.py +196 -0
  218. dart/generated/models/task_notion_document_block_children_map_type_0.py +43 -0
  219. dart/generated/models/task_notion_document_block_map_type_0.py +43 -0
  220. dart/generated/models/task_notion_document_page_map_type_0.py +43 -0
  221. dart/generated/models/task_properties.py +43 -0
  222. dart/generated/models/task_source_type.py +31 -0
  223. dart/generated/models/task_update.py +585 -0
  224. dart/generated/models/tenant.py +378 -0
  225. dart/generated/models/tenant_update.py +157 -0
  226. dart/generated/models/theme.py +10 -0
  227. dart/generated/models/transaction.py +156 -0
  228. dart/generated/models/transaction_kind.py +74 -0
  229. dart/generated/models/transaction_response.py +96 -0
  230. dart/generated/models/user.py +245 -0
  231. dart/generated/models/user_dartboard_layout.py +66 -0
  232. dart/generated/models/user_dartboard_layout_create.py +74 -0
  233. dart/generated/models/user_data_entity_retrieve_entity_kind.py +32 -0
  234. dart/generated/models/user_role.py +12 -0
  235. dart/generated/models/user_status.py +12 -0
  236. dart/generated/models/user_update.py +210 -0
  237. dart/generated/models/validation_error_response.py +64 -0
  238. dart/generated/models/validation_error_response_items.py +43 -0
  239. dart/generated/models/view.py +215 -0
  240. dart/generated/models/view_create.py +213 -0
  241. dart/generated/models/view_kind.py +11 -0
  242. dart/generated/models/view_update.py +215 -0
  243. dart/generated/models/webhook.py +96 -0
  244. dart/generated/models/webhook_create.py +77 -0
  245. dart/generated/models/webhook_update.py +78 -0
  246. dart/generated/models/zapier_integration.py +66 -0
  247. dart/generated/py.typed +1 -0
  248. dart/generated/types.py +45 -0
  249. dart/order_manager.py +62 -0
  250. dart/webhook.py +21 -0
  251. dart_tools-0.6.11.dist-info/LICENSE +21 -0
  252. dart_tools-0.6.11.dist-info/METADATA +221 -0
  253. dart_tools-0.6.11.dist-info/RECORD +257 -0
  254. dart_tools-0.6.11.dist-info/WHEEL +5 -0
  255. dart_tools-0.6.11.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  256. dart_tools-0.6.11.dist-info/entry_points.txt +2 -0
  257. dart_tools-0.6.11.dist-info/top_level.txt +1 -0
@@ -0,0 +1,152 @@
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 ..models.task_link_kind import TaskLinkKind
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="TaskLinkCreate")
10
+
11
+
12
+ @_attrs_define
13
+ class TaskLinkCreate:
14
+ """
15
+ Attributes:
16
+ duid (str):
17
+ task_duid (str):
18
+ order (str):
19
+ url (str):
20
+ kind (Union[Unset, TaskLinkKind]): * `Standard` - STANDARD
21
+ * `Source From Template` - SOURCE_FROM_TEMPLATE
22
+ * `Source From Third Party` - SOURCE_FROM_THIRD_PARTY
23
+ * `GitHub Branch` - GITHUB_BRANCH
24
+ * `GitHub Pull Request` - GITHUB_PULL_REQUEST
25
+ * `GitHub Expansion` - GITHUB_EXPANSION
26
+ * `Notion Link` - NOTION_LINK
27
+ * `Notion Document` - NOTION_DOCUMENT
28
+ * `Notion Document Doesnt Exist` - NOTION_DOCUMENT_DOESNT_EXIST
29
+ * `Notion Document Parse Failed` - NOTION_DOCUMENT_PARSE_FAILED
30
+ * `Notion Expansion` - NOTION_EXPANSION
31
+ * `Slack Expansion` - SLACK_EXPANSION
32
+ title (Union[None, Unset, str]):
33
+ icon_url (Union[None, Unset, str]):
34
+ """
35
+
36
+ duid: str
37
+ task_duid: str
38
+ order: str
39
+ url: str
40
+ kind: Union[Unset, TaskLinkKind] = UNSET
41
+ title: Union[None, Unset, str] = UNSET
42
+ icon_url: Union[None, Unset, str] = UNSET
43
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+ def to_dict(self) -> Dict[str, Any]:
46
+ duid = self.duid
47
+
48
+ task_duid = self.task_duid
49
+
50
+ order = self.order
51
+
52
+ url = self.url
53
+
54
+ kind: Union[Unset, str] = UNSET
55
+ if not isinstance(self.kind, Unset):
56
+ kind = self.kind.value
57
+
58
+ title: Union[None, Unset, str]
59
+ if isinstance(self.title, Unset):
60
+ title = UNSET
61
+ else:
62
+ title = self.title
63
+
64
+ icon_url: Union[None, Unset, str]
65
+ if isinstance(self.icon_url, Unset):
66
+ icon_url = UNSET
67
+ else:
68
+ icon_url = self.icon_url
69
+
70
+ field_dict: Dict[str, Any] = {}
71
+ field_dict.update(self.additional_properties)
72
+ field_dict.update(
73
+ {
74
+ "duid": duid,
75
+ "taskDuid": task_duid,
76
+ "order": order,
77
+ "url": url,
78
+ }
79
+ )
80
+ if kind is not UNSET:
81
+ field_dict["kind"] = kind
82
+ if title is not UNSET:
83
+ field_dict["title"] = title
84
+ if icon_url is not UNSET:
85
+ field_dict["iconUrl"] = icon_url
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
+ task_duid = d.pop("taskDuid")
95
+
96
+ order = d.pop("order")
97
+
98
+ url = d.pop("url")
99
+
100
+ _kind = d.pop("kind", UNSET)
101
+ kind: Union[Unset, TaskLinkKind]
102
+ if isinstance(_kind, Unset):
103
+ kind = UNSET
104
+ else:
105
+ kind = TaskLinkKind(_kind)
106
+
107
+ def _parse_title(data: object) -> Union[None, Unset, str]:
108
+ if data is None:
109
+ return data
110
+ if isinstance(data, Unset):
111
+ return data
112
+ return cast(Union[None, Unset, str], data)
113
+
114
+ title = _parse_title(d.pop("title", UNSET))
115
+
116
+ def _parse_icon_url(data: object) -> Union[None, Unset, str]:
117
+ if data is None:
118
+ return data
119
+ if isinstance(data, Unset):
120
+ return data
121
+ return cast(Union[None, Unset, str], data)
122
+
123
+ icon_url = _parse_icon_url(d.pop("iconUrl", UNSET))
124
+
125
+ task_link_create = cls(
126
+ duid=duid,
127
+ task_duid=task_duid,
128
+ order=order,
129
+ url=url,
130
+ kind=kind,
131
+ title=title,
132
+ icon_url=icon_url,
133
+ )
134
+
135
+ task_link_create.additional_properties = d
136
+ return task_link_create
137
+
138
+ @property
139
+ def additional_keys(self) -> List[str]:
140
+ return list(self.additional_properties.keys())
141
+
142
+ def __getitem__(self, key: str) -> Any:
143
+ return self.additional_properties[key]
144
+
145
+ def __setitem__(self, key: str, value: Any) -> None:
146
+ self.additional_properties[key] = value
147
+
148
+ def __delitem__(self, key: str) -> None:
149
+ del self.additional_properties[key]
150
+
151
+ def __contains__(self, key: str) -> bool:
152
+ return key in self.additional_properties
@@ -0,0 +1,19 @@
1
+ from enum import Enum
2
+
3
+
4
+ class TaskLinkKind(str, Enum):
5
+ GITHUB_BRANCH = "GitHub Branch"
6
+ GITHUB_EXPANSION = "GitHub Expansion"
7
+ GITHUB_PULL_REQUEST = "GitHub Pull Request"
8
+ NOTION_DOCUMENT = "Notion Document"
9
+ NOTION_DOCUMENT_DOESNT_EXIST = "Notion Document Doesnt Exist"
10
+ NOTION_DOCUMENT_PARSE_FAILED = "Notion Document Parse Failed"
11
+ NOTION_EXPANSION = "Notion Expansion"
12
+ NOTION_LINK = "Notion Link"
13
+ SLACK_EXPANSION = "Slack Expansion"
14
+ SOURCE_FROM_TEMPLATE = "Source From Template"
15
+ SOURCE_FROM_THIRD_PARTY = "Source From Third Party"
16
+ STANDARD = "Standard"
17
+
18
+ def __str__(self) -> str:
19
+ return str(self.value)
@@ -0,0 +1,155 @@
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 ..models.task_link_kind import TaskLinkKind
7
+ from ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="TaskLinkUpdate")
10
+
11
+
12
+ @_attrs_define
13
+ class TaskLinkUpdate:
14
+ """
15
+ Attributes:
16
+ duid (str):
17
+ task_duid (Union[Unset, str]):
18
+ order (Union[Unset, str]):
19
+ kind (Union[Unset, TaskLinkKind]): * `Standard` - STANDARD
20
+ * `Source From Template` - SOURCE_FROM_TEMPLATE
21
+ * `Source From Third Party` - SOURCE_FROM_THIRD_PARTY
22
+ * `GitHub Branch` - GITHUB_BRANCH
23
+ * `GitHub Pull Request` - GITHUB_PULL_REQUEST
24
+ * `GitHub Expansion` - GITHUB_EXPANSION
25
+ * `Notion Link` - NOTION_LINK
26
+ * `Notion Document` - NOTION_DOCUMENT
27
+ * `Notion Document Doesnt Exist` - NOTION_DOCUMENT_DOESNT_EXIST
28
+ * `Notion Document Parse Failed` - NOTION_DOCUMENT_PARSE_FAILED
29
+ * `Notion Expansion` - NOTION_EXPANSION
30
+ * `Slack Expansion` - SLACK_EXPANSION
31
+ url (Union[Unset, str]):
32
+ title (Union[None, Unset, str]):
33
+ icon_url (Union[None, Unset, str]):
34
+ """
35
+
36
+ duid: str
37
+ task_duid: Union[Unset, str] = UNSET
38
+ order: Union[Unset, str] = UNSET
39
+ kind: Union[Unset, TaskLinkKind] = UNSET
40
+ url: Union[Unset, str] = UNSET
41
+ title: Union[None, Unset, str] = UNSET
42
+ icon_url: Union[None, Unset, str] = UNSET
43
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
44
+
45
+ def to_dict(self) -> Dict[str, Any]:
46
+ duid = self.duid
47
+
48
+ task_duid = self.task_duid
49
+
50
+ order = self.order
51
+
52
+ kind: Union[Unset, str] = UNSET
53
+ if not isinstance(self.kind, Unset):
54
+ kind = self.kind.value
55
+
56
+ url = self.url
57
+
58
+ title: Union[None, Unset, str]
59
+ if isinstance(self.title, Unset):
60
+ title = UNSET
61
+ else:
62
+ title = self.title
63
+
64
+ icon_url: Union[None, Unset, str]
65
+ if isinstance(self.icon_url, Unset):
66
+ icon_url = UNSET
67
+ else:
68
+ icon_url = self.icon_url
69
+
70
+ field_dict: Dict[str, Any] = {}
71
+ field_dict.update(self.additional_properties)
72
+ field_dict.update(
73
+ {
74
+ "duid": duid,
75
+ }
76
+ )
77
+ if task_duid is not UNSET:
78
+ field_dict["taskDuid"] = task_duid
79
+ if order is not UNSET:
80
+ field_dict["order"] = order
81
+ if kind is not UNSET:
82
+ field_dict["kind"] = kind
83
+ if url is not UNSET:
84
+ field_dict["url"] = url
85
+ if title is not UNSET:
86
+ field_dict["title"] = title
87
+ if icon_url is not UNSET:
88
+ field_dict["iconUrl"] = icon_url
89
+
90
+ return field_dict
91
+
92
+ @classmethod
93
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
94
+ d = src_dict.copy()
95
+ duid = d.pop("duid")
96
+
97
+ task_duid = d.pop("taskDuid", UNSET)
98
+
99
+ order = d.pop("order", UNSET)
100
+
101
+ _kind = d.pop("kind", UNSET)
102
+ kind: Union[Unset, TaskLinkKind]
103
+ if isinstance(_kind, Unset):
104
+ kind = UNSET
105
+ else:
106
+ kind = TaskLinkKind(_kind)
107
+
108
+ url = d.pop("url", UNSET)
109
+
110
+ def _parse_title(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
+ title = _parse_title(d.pop("title", UNSET))
118
+
119
+ def _parse_icon_url(data: object) -> Union[None, Unset, str]:
120
+ if data is None:
121
+ return data
122
+ if isinstance(data, Unset):
123
+ return data
124
+ return cast(Union[None, Unset, str], data)
125
+
126
+ icon_url = _parse_icon_url(d.pop("iconUrl", UNSET))
127
+
128
+ task_link_update = cls(
129
+ duid=duid,
130
+ task_duid=task_duid,
131
+ order=order,
132
+ kind=kind,
133
+ url=url,
134
+ title=title,
135
+ icon_url=icon_url,
136
+ )
137
+
138
+ task_link_update.additional_properties = d
139
+ return task_link_update
140
+
141
+ @property
142
+ def additional_keys(self) -> List[str]:
143
+ return list(self.additional_properties.keys())
144
+
145
+ def __getitem__(self, key: str) -> Any:
146
+ return self.additional_properties[key]
147
+
148
+ def __setitem__(self, key: str, value: Any) -> None:
149
+ self.additional_properties[key] = value
150
+
151
+ def __delitem__(self, key: str) -> None:
152
+ del self.additional_properties[key]
153
+
154
+ def __contains__(self, key: str) -> bool:
155
+ return key in self.additional_properties
@@ -0,0 +1,196 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, 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
+ if TYPE_CHECKING:
9
+ from ..models.task_notion_document_block_children_map_type_0 import TaskNotionDocumentBlockChildrenMapType0
10
+ from ..models.task_notion_document_block_map_type_0 import TaskNotionDocumentBlockMapType0
11
+ from ..models.task_notion_document_page_map_type_0 import TaskNotionDocumentPageMapType0
12
+
13
+
14
+ T = TypeVar("T", bound="TaskNotionDocument")
15
+
16
+
17
+ @_attrs_define
18
+ class TaskNotionDocument:
19
+ """
20
+ Attributes:
21
+ page_id (str):
22
+ refreshing (bool):
23
+ exists_and_access_granted (Union[None, bool]):
24
+ last_refresh_at (Union[None, datetime.datetime]):
25
+ page_map (Union['TaskNotionDocumentPageMapType0', None]):
26
+ block_map (Union['TaskNotionDocumentBlockMapType0', None]):
27
+ block_children_map (Union['TaskNotionDocumentBlockChildrenMapType0', None]):
28
+ """
29
+
30
+ page_id: str
31
+ refreshing: bool
32
+ exists_and_access_granted: Union[None, bool]
33
+ last_refresh_at: Union[None, datetime.datetime]
34
+ page_map: Union["TaskNotionDocumentPageMapType0", None]
35
+ block_map: Union["TaskNotionDocumentBlockMapType0", None]
36
+ block_children_map: Union["TaskNotionDocumentBlockChildrenMapType0", None]
37
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> Dict[str, Any]:
40
+ from ..models.task_notion_document_block_children_map_type_0 import TaskNotionDocumentBlockChildrenMapType0
41
+ from ..models.task_notion_document_block_map_type_0 import TaskNotionDocumentBlockMapType0
42
+ from ..models.task_notion_document_page_map_type_0 import TaskNotionDocumentPageMapType0
43
+
44
+ page_id = self.page_id
45
+
46
+ refreshing = self.refreshing
47
+
48
+ exists_and_access_granted: Union[None, bool]
49
+ exists_and_access_granted = self.exists_and_access_granted
50
+
51
+ last_refresh_at: Union[None, str]
52
+ if isinstance(self.last_refresh_at, datetime.datetime):
53
+ last_refresh_at = self.last_refresh_at.isoformat()
54
+ else:
55
+ last_refresh_at = self.last_refresh_at
56
+
57
+ page_map: Union[Dict[str, Any], None]
58
+ if isinstance(self.page_map, TaskNotionDocumentPageMapType0):
59
+ page_map = self.page_map.to_dict()
60
+ else:
61
+ page_map = self.page_map
62
+
63
+ block_map: Union[Dict[str, Any], None]
64
+ if isinstance(self.block_map, TaskNotionDocumentBlockMapType0):
65
+ block_map = self.block_map.to_dict()
66
+ else:
67
+ block_map = self.block_map
68
+
69
+ block_children_map: Union[Dict[str, Any], None]
70
+ if isinstance(self.block_children_map, TaskNotionDocumentBlockChildrenMapType0):
71
+ block_children_map = self.block_children_map.to_dict()
72
+ else:
73
+ block_children_map = self.block_children_map
74
+
75
+ field_dict: Dict[str, Any] = {}
76
+ field_dict.update(self.additional_properties)
77
+ field_dict.update(
78
+ {
79
+ "pageId": page_id,
80
+ "refreshing": refreshing,
81
+ "existsAndAccessGranted": exists_and_access_granted,
82
+ "lastRefreshAt": last_refresh_at,
83
+ "pageMap": page_map,
84
+ "blockMap": block_map,
85
+ "blockChildrenMap": block_children_map,
86
+ }
87
+ )
88
+
89
+ return field_dict
90
+
91
+ @classmethod
92
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
93
+ from ..models.task_notion_document_block_children_map_type_0 import TaskNotionDocumentBlockChildrenMapType0
94
+ from ..models.task_notion_document_block_map_type_0 import TaskNotionDocumentBlockMapType0
95
+ from ..models.task_notion_document_page_map_type_0 import TaskNotionDocumentPageMapType0
96
+
97
+ d = src_dict.copy()
98
+ page_id = d.pop("pageId")
99
+
100
+ refreshing = d.pop("refreshing")
101
+
102
+ def _parse_exists_and_access_granted(data: object) -> Union[None, bool]:
103
+ if data is None:
104
+ return data
105
+ return cast(Union[None, bool], data)
106
+
107
+ exists_and_access_granted = _parse_exists_and_access_granted(d.pop("existsAndAccessGranted"))
108
+
109
+ def _parse_last_refresh_at(data: object) -> Union[None, datetime.datetime]:
110
+ if data is None:
111
+ return data
112
+ try:
113
+ if not isinstance(data, str):
114
+ raise TypeError()
115
+ last_refresh_at_type_0 = isoparse(data)
116
+
117
+ return last_refresh_at_type_0
118
+ except: # noqa: E722
119
+ pass
120
+ return cast(Union[None, datetime.datetime], data)
121
+
122
+ last_refresh_at = _parse_last_refresh_at(d.pop("lastRefreshAt"))
123
+
124
+ def _parse_page_map(data: object) -> Union["TaskNotionDocumentPageMapType0", None]:
125
+ if data is None:
126
+ return data
127
+ try:
128
+ if not isinstance(data, dict):
129
+ raise TypeError()
130
+ page_map_type_0 = TaskNotionDocumentPageMapType0.from_dict(data)
131
+
132
+ return page_map_type_0
133
+ except: # noqa: E722
134
+ pass
135
+ return cast(Union["TaskNotionDocumentPageMapType0", None], data)
136
+
137
+ page_map = _parse_page_map(d.pop("pageMap"))
138
+
139
+ def _parse_block_map(data: object) -> Union["TaskNotionDocumentBlockMapType0", None]:
140
+ if data is None:
141
+ return data
142
+ try:
143
+ if not isinstance(data, dict):
144
+ raise TypeError()
145
+ block_map_type_0 = TaskNotionDocumentBlockMapType0.from_dict(data)
146
+
147
+ return block_map_type_0
148
+ except: # noqa: E722
149
+ pass
150
+ return cast(Union["TaskNotionDocumentBlockMapType0", None], data)
151
+
152
+ block_map = _parse_block_map(d.pop("blockMap"))
153
+
154
+ def _parse_block_children_map(data: object) -> Union["TaskNotionDocumentBlockChildrenMapType0", None]:
155
+ if data is None:
156
+ return data
157
+ try:
158
+ if not isinstance(data, dict):
159
+ raise TypeError()
160
+ block_children_map_type_0 = TaskNotionDocumentBlockChildrenMapType0.from_dict(data)
161
+
162
+ return block_children_map_type_0
163
+ except: # noqa: E722
164
+ pass
165
+ return cast(Union["TaskNotionDocumentBlockChildrenMapType0", None], data)
166
+
167
+ block_children_map = _parse_block_children_map(d.pop("blockChildrenMap"))
168
+
169
+ task_notion_document = cls(
170
+ page_id=page_id,
171
+ refreshing=refreshing,
172
+ exists_and_access_granted=exists_and_access_granted,
173
+ last_refresh_at=last_refresh_at,
174
+ page_map=page_map,
175
+ block_map=block_map,
176
+ block_children_map=block_children_map,
177
+ )
178
+
179
+ task_notion_document.additional_properties = d
180
+ return task_notion_document
181
+
182
+ @property
183
+ def additional_keys(self) -> List[str]:
184
+ return list(self.additional_properties.keys())
185
+
186
+ def __getitem__(self, key: str) -> Any:
187
+ return self.additional_properties[key]
188
+
189
+ def __setitem__(self, key: str, value: Any) -> None:
190
+ self.additional_properties[key] = value
191
+
192
+ def __delitem__(self, key: str) -> None:
193
+ del self.additional_properties[key]
194
+
195
+ def __contains__(self, key: str) -> bool:
196
+ return key in self.additional_properties
@@ -0,0 +1,43 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="TaskNotionDocumentBlockChildrenMapType0")
7
+
8
+
9
+ @_attrs_define
10
+ class TaskNotionDocumentBlockChildrenMapType0:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
23
+ d = src_dict.copy()
24
+ task_notion_document_block_children_map_type_0 = cls()
25
+
26
+ task_notion_document_block_children_map_type_0.additional_properties = d
27
+ return task_notion_document_block_children_map_type_0
28
+
29
+ @property
30
+ def additional_keys(self) -> List[str]:
31
+ return list(self.additional_properties.keys())
32
+
33
+ def __getitem__(self, key: str) -> Any:
34
+ return self.additional_properties[key]
35
+
36
+ def __setitem__(self, key: str, value: Any) -> None:
37
+ self.additional_properties[key] = value
38
+
39
+ def __delitem__(self, key: str) -> None:
40
+ del self.additional_properties[key]
41
+
42
+ def __contains__(self, key: str) -> bool:
43
+ return key in self.additional_properties
@@ -0,0 +1,43 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="TaskNotionDocumentBlockMapType0")
7
+
8
+
9
+ @_attrs_define
10
+ class TaskNotionDocumentBlockMapType0:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
23
+ d = src_dict.copy()
24
+ task_notion_document_block_map_type_0 = cls()
25
+
26
+ task_notion_document_block_map_type_0.additional_properties = d
27
+ return task_notion_document_block_map_type_0
28
+
29
+ @property
30
+ def additional_keys(self) -> List[str]:
31
+ return list(self.additional_properties.keys())
32
+
33
+ def __getitem__(self, key: str) -> Any:
34
+ return self.additional_properties[key]
35
+
36
+ def __setitem__(self, key: str, value: Any) -> None:
37
+ self.additional_properties[key] = value
38
+
39
+ def __delitem__(self, key: str) -> None:
40
+ del self.additional_properties[key]
41
+
42
+ def __contains__(self, key: str) -> bool:
43
+ return key in self.additional_properties
@@ -0,0 +1,43 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="TaskNotionDocumentPageMapType0")
7
+
8
+
9
+ @_attrs_define
10
+ class TaskNotionDocumentPageMapType0:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
23
+ d = src_dict.copy()
24
+ task_notion_document_page_map_type_0 = cls()
25
+
26
+ task_notion_document_page_map_type_0.additional_properties = d
27
+ return task_notion_document_page_map_type_0
28
+
29
+ @property
30
+ def additional_keys(self) -> List[str]:
31
+ return list(self.additional_properties.keys())
32
+
33
+ def __getitem__(self, key: str) -> Any:
34
+ return self.additional_properties[key]
35
+
36
+ def __setitem__(self, key: str, value: Any) -> None:
37
+ self.additional_properties[key] = value
38
+
39
+ def __delitem__(self, key: str) -> None:
40
+ del self.additional_properties[key]
41
+
42
+ def __contains__(self, key: str) -> bool:
43
+ return key in self.additional_properties
@@ -0,0 +1,43 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="TaskProperties")
7
+
8
+
9
+ @_attrs_define
10
+ class TaskProperties:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
23
+ d = src_dict.copy()
24
+ task_properties = cls()
25
+
26
+ task_properties.additional_properties = d
27
+ return task_properties
28
+
29
+ @property
30
+ def additional_keys(self) -> List[str]:
31
+ return list(self.additional_properties.keys())
32
+
33
+ def __getitem__(self, key: str) -> Any:
34
+ return self.additional_properties[key]
35
+
36
+ def __setitem__(self, key: str, value: Any) -> None:
37
+ self.additional_properties[key] = value
38
+
39
+ def __delitem__(self, key: str) -> None:
40
+ del self.additional_properties[key]
41
+
42
+ def __contains__(self, key: str) -> bool:
43
+ return key in self.additional_properties