dart-tools 0.6.16__py3-none-any.whl → 0.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dart-tools might be problematic. Click here for more details.

Files changed (285) hide show
  1. dart/__init__.py +8 -6
  2. dart/dart.py +423 -702
  3. dart/generated/__init__.py +1 -1
  4. dart/generated/api/__init__.py +8 -0
  5. dart/generated/api/comment/__init__.py +1 -0
  6. dart/generated/api/{transactions/transactions_create.py → comment/create_comment.py} +57 -58
  7. dart/generated/api/config/__init__.py +1 -0
  8. dart/generated/api/config/get_config.py +141 -0
  9. dart/generated/api/dartboard/__init__.py +1 -0
  10. dart/generated/api/{attachments/attachments_list.py → dartboard/retrieve_dartboard.py} +58 -62
  11. dart/generated/api/doc/__init__.py +1 -0
  12. dart/generated/api/doc/create_doc.py +179 -0
  13. dart/generated/api/doc/delete_doc.py +165 -0
  14. dart/generated/api/{comments/comments_list.py → doc/list_docs.py} +115 -111
  15. dart/generated/api/{forms/forms_list.py → doc/retrieve_doc.py} +58 -62
  16. dart/generated/api/doc/update_doc.py +188 -0
  17. dart/generated/api/folder/__init__.py +1 -0
  18. dart/generated/api/{webhooks/webhooks_list.py → folder/retrieve_folder.py} +58 -62
  19. dart/generated/api/task/__init__.py +1 -0
  20. dart/generated/api/task/create_task.py +172 -0
  21. dart/generated/api/task/delete_task.py +165 -0
  22. dart/generated/api/task/list_tasks.py +497 -0
  23. dart/generated/api/{layouts/layouts_list.py → task/retrieve_task.py} +58 -62
  24. dart/generated/api/task/update_task.py +188 -0
  25. dart/generated/api/view/__init__.py +1 -0
  26. dart/generated/api/{tenants/tenants_list.py → view/retrieve_view.py} +58 -62
  27. dart/generated/client.py +13 -13
  28. dart/generated/models/__init__.py +34 -342
  29. dart/generated/models/comment.py +34 -150
  30. dart/generated/models/comment_create.py +18 -97
  31. dart/generated/models/concise_doc.py +84 -0
  32. dart/generated/models/concise_task.py +267 -0
  33. dart/generated/models/dartboard.py +37 -237
  34. dart/generated/models/doc.py +31 -183
  35. dart/generated/models/doc_create.py +22 -238
  36. dart/generated/models/doc_update.py +26 -233
  37. dart/generated/models/folder.py +39 -84
  38. dart/generated/models/list_docs_o_item.py +15 -0
  39. dart/generated/models/{paginated_attachment_list.py → paginated_concise_doc_list.py} +18 -17
  40. dart/generated/models/{paginated_dartboard_list.py → paginated_concise_task_list.py} +18 -17
  41. dart/generated/models/task.py +149 -406
  42. dart/generated/models/task_create.py +113 -428
  43. dart/generated/models/task_update.py +113 -421
  44. dart/generated/models/user.py +14 -192
  45. dart/generated/models/user_space_configuration.py +147 -0
  46. dart/generated/models/view.py +39 -149
  47. dart/generated/models/wrapped_comment.py +65 -0
  48. dart/generated/models/wrapped_comment_create.py +65 -0
  49. dart/generated/models/wrapped_dartboard.py +65 -0
  50. dart/generated/models/wrapped_doc.py +65 -0
  51. dart/generated/models/wrapped_doc_create.py +65 -0
  52. dart/generated/models/wrapped_doc_update.py +65 -0
  53. dart/generated/models/wrapped_folder.py +65 -0
  54. dart/generated/models/wrapped_task.py +65 -0
  55. dart/generated/models/wrapped_task_create.py +65 -0
  56. dart/generated/models/wrapped_task_update.py +65 -0
  57. dart/generated/models/wrapped_view.py +65 -0
  58. dart/generated/types.py +4 -3
  59. dart/old.py +216 -0
  60. dart/order_manager.py +4 -15
  61. dart/webhook.py +2 -7
  62. {dart_tools-0.6.16.dist-info → dart_tools-0.7.1.dist-info}/METADATA +33 -62
  63. dart_tools-0.7.1.dist-info/RECORD +71 -0
  64. {dart_tools-0.6.16.dist-info → dart_tools-0.7.1.dist-info}/WHEEL +1 -1
  65. dart/generated/api/attachments/__init__.py +0 -0
  66. dart/generated/api/comments/__init__.py +0 -0
  67. dart/generated/api/dartboards/__init__.py +0 -0
  68. dart/generated/api/dartboards/dartboards_list.py +0 -286
  69. dart/generated/api/dashboards/__init__.py +0 -0
  70. dart/generated/api/dashboards/dashboards_list.py +0 -199
  71. dart/generated/api/docs/__init__.py +0 -0
  72. dart/generated/api/docs/docs_list.py +0 -387
  73. dart/generated/api/folders/__init__.py +0 -0
  74. dart/generated/api/folders/folders_list.py +0 -249
  75. dart/generated/api/form_fields/__init__.py +0 -0
  76. dart/generated/api/form_fields/form_fields_list.py +0 -169
  77. dart/generated/api/forms/__init__.py +0 -0
  78. dart/generated/api/layouts/__init__.py +0 -0
  79. dart/generated/api/links/__init__.py +0 -0
  80. dart/generated/api/links/links_list.py +0 -169
  81. dart/generated/api/options/__init__.py +0 -0
  82. dart/generated/api/options/options_list.py +0 -244
  83. dart/generated/api/properties/__init__.py +0 -0
  84. dart/generated/api/properties/properties_list.py +0 -219
  85. dart/generated/api/reactions/__init__.py +0 -0
  86. dart/generated/api/reactions/reactions_list.py +0 -169
  87. dart/generated/api/relationship_kinds/__init__.py +0 -0
  88. dart/generated/api/relationship_kinds/relationship_kinds_list.py +0 -169
  89. dart/generated/api/relationships/__init__.py +0 -0
  90. dart/generated/api/relationships/relationships_list.py +0 -169
  91. dart/generated/api/spaces/__init__.py +0 -0
  92. dart/generated/api/spaces/spaces_list.py +0 -229
  93. dart/generated/api/statuses/__init__.py +0 -0
  94. dart/generated/api/statuses/statuses_list.py +0 -264
  95. dart/generated/api/task_doc_relationships/__init__.py +0 -0
  96. dart/generated/api/task_doc_relationships/task_doc_relationships_list.py +0 -169
  97. dart/generated/api/task_kinds/__init__.py +0 -0
  98. dart/generated/api/task_kinds/task_kinds_list.py +0 -219
  99. dart/generated/api/tasks/__init__.py +0 -0
  100. dart/generated/api/tasks/tasks_list.py +0 -461
  101. dart/generated/api/tenants/__init__.py +0 -0
  102. dart/generated/api/transactions/__init__.py +0 -0
  103. dart/generated/api/user_dartboard_layouts/__init__.py +0 -0
  104. dart/generated/api/user_dartboard_layouts/user_dartboard_layouts_list.py +0 -169
  105. dart/generated/api/user_data/__init__.py +0 -0
  106. dart/generated/api/user_data/user_data_entity_retrieve.py +0 -580
  107. dart/generated/api/users/__init__.py +0 -0
  108. dart/generated/api/users/users_list.py +0 -229
  109. dart/generated/api/views/__init__.py +0 -0
  110. dart/generated/api/views/views_list.py +0 -199
  111. dart/generated/api/webhooks/__init__.py +0 -0
  112. dart/generated/models/attachment.py +0 -112
  113. dart/generated/models/attachment_create.py +0 -121
  114. dart/generated/models/attachment_update.py +0 -125
  115. dart/generated/models/bar_chart_adtl.py +0 -98
  116. dart/generated/models/brainstorm.py +0 -149
  117. dart/generated/models/brainstorm_create.py +0 -134
  118. dart/generated/models/brainstorm_state.py +0 -10
  119. dart/generated/models/brainstorm_update.py +0 -153
  120. dart/generated/models/burn_up_chart_adtl.py +0 -103
  121. dart/generated/models/chart.py +0 -208
  122. dart/generated/models/chart_aggregation.py +0 -10
  123. dart/generated/models/chart_type.py +0 -14
  124. dart/generated/models/comment_reaction.py +0 -84
  125. dart/generated/models/comment_reaction_create.py +0 -82
  126. dart/generated/models/comment_reaction_update.py +0 -87
  127. dart/generated/models/comment_update.py +0 -148
  128. dart/generated/models/dartboard_create.py +0 -315
  129. dart/generated/models/dartboard_kind.py +0 -12
  130. dart/generated/models/dartboard_update.py +0 -317
  131. dart/generated/models/dartboards_list_kind.py +0 -12
  132. dart/generated/models/dashboard.py +0 -185
  133. dart/generated/models/dashboard_create.py +0 -171
  134. dart/generated/models/dashboard_update.py +0 -173
  135. dart/generated/models/discord_integration.py +0 -72
  136. dart/generated/models/doc_source_type.py +0 -13
  137. dart/generated/models/docs_list_o_item.py +0 -15
  138. dart/generated/models/entity_name.py +0 -22
  139. dart/generated/models/event.py +0 -420
  140. dart/generated/models/event_actor.py +0 -19
  141. dart/generated/models/event_create.py +0 -158
  142. dart/generated/models/event_kind.py +0 -88
  143. dart/generated/models/event_subscription.py +0 -74
  144. dart/generated/models/event_subscription_update.py +0 -173
  145. dart/generated/models/filter_applicability.py +0 -22
  146. dart/generated/models/filter_assignee.py +0 -116
  147. dart/generated/models/filter_connector.py +0 -9
  148. dart/generated/models/filter_group.py +0 -112
  149. dart/generated/models/filter_search.py +0 -82
  150. dart/generated/models/filter_set.py +0 -116
  151. dart/generated/models/folder_create.py +0 -150
  152. dart/generated/models/folder_kind.py +0 -10
  153. dart/generated/models/folder_update.py +0 -152
  154. dart/generated/models/folders_list_kind.py +0 -10
  155. dart/generated/models/form.py +0 -147
  156. dart/generated/models/form_create.py +0 -141
  157. dart/generated/models/form_field.py +0 -144
  158. dart/generated/models/form_field_create.py +0 -129
  159. dart/generated/models/form_field_update.py +0 -132
  160. dart/generated/models/form_update.py +0 -142
  161. dart/generated/models/github_integration.py +0 -163
  162. dart/generated/models/github_integration_tenant_extension_status.py +0 -11
  163. dart/generated/models/google_data.py +0 -94
  164. dart/generated/models/icon_kind.py +0 -10
  165. dart/generated/models/layout.py +0 -167
  166. dart/generated/models/layout_config.py +0 -70
  167. dart/generated/models/layout_create.py +0 -130
  168. dart/generated/models/layout_kind.py +0 -11
  169. dart/generated/models/layout_kind_config_map.py +0 -56
  170. dart/generated/models/layout_update.py +0 -130
  171. dart/generated/models/line_chart_adtl.py +0 -72
  172. dart/generated/models/models_response.py +0 -671
  173. dart/generated/models/notification.py +0 -120
  174. dart/generated/models/notification_update.py +0 -100
  175. dart/generated/models/notion_integration.py +0 -90
  176. dart/generated/models/notion_integration_tenant_extension_status.py +0 -10
  177. dart/generated/models/number_chart_adtl.py +0 -77
  178. dart/generated/models/operation.py +0 -874
  179. dart/generated/models/operation_kind.py +0 -12
  180. dart/generated/models/operation_model_kind.py +0 -36
  181. dart/generated/models/option.py +0 -118
  182. dart/generated/models/option_create.py +0 -105
  183. dart/generated/models/option_update.py +0 -107
  184. dart/generated/models/paginated_comment_list.py +0 -122
  185. dart/generated/models/paginated_comment_reaction_list.py +0 -122
  186. dart/generated/models/paginated_dashboard_list.py +0 -122
  187. dart/generated/models/paginated_doc_list.py +0 -122
  188. dart/generated/models/paginated_folder_list.py +0 -122
  189. dart/generated/models/paginated_form_field_list.py +0 -122
  190. dart/generated/models/paginated_form_list.py +0 -122
  191. dart/generated/models/paginated_layout_list.py +0 -122
  192. dart/generated/models/paginated_option_list.py +0 -122
  193. dart/generated/models/paginated_property_list.py +0 -122
  194. dart/generated/models/paginated_relationship_kind_list.py +0 -122
  195. dart/generated/models/paginated_relationship_list.py +0 -122
  196. dart/generated/models/paginated_space_list.py +0 -122
  197. dart/generated/models/paginated_status_list.py +0 -122
  198. dart/generated/models/paginated_task_doc_relationship_list.py +0 -122
  199. dart/generated/models/paginated_task_kind_list.py +0 -122
  200. dart/generated/models/paginated_task_link_list.py +0 -122
  201. dart/generated/models/paginated_task_list.py +0 -122
  202. dart/generated/models/paginated_tenant_list.py +0 -122
  203. dart/generated/models/paginated_user_dartboard_layout_list.py +0 -122
  204. dart/generated/models/paginated_user_list.py +0 -122
  205. dart/generated/models/paginated_view_list.py +0 -122
  206. dart/generated/models/paginated_webhook_list.py +0 -122
  207. dart/generated/models/pie_chart_adtl.py +0 -69
  208. dart/generated/models/pie_chart_display_metric.py +0 -9
  209. dart/generated/models/properties_list_kind.py +0 -32
  210. dart/generated/models/property_.py +0 -153
  211. dart/generated/models/property_create.py +0 -137
  212. dart/generated/models/property_kind.py +0 -32
  213. dart/generated/models/property_update.py +0 -146
  214. dart/generated/models/relationship.py +0 -74
  215. dart/generated/models/relationship_create.py +0 -93
  216. dart/generated/models/relationship_kind.py +0 -123
  217. dart/generated/models/relationship_kind_create.py +0 -117
  218. dart/generated/models/relationship_kind_kind.py +0 -12
  219. dart/generated/models/relationship_kind_update.py +0 -119
  220. dart/generated/models/report_kind.py +0 -9
  221. dart/generated/models/request_body.py +0 -83
  222. dart/generated/models/response_body.py +0 -72
  223. dart/generated/models/saml_config.py +0 -77
  224. dart/generated/models/saml_config_tenant_extension_status.py +0 -9
  225. dart/generated/models/slack_integration.py +0 -90
  226. dart/generated/models/slack_integration_tenant_extension_status.py +0 -10
  227. dart/generated/models/sort.py +0 -66
  228. dart/generated/models/space.py +0 -311
  229. dart/generated/models/space_create.py +0 -340
  230. dart/generated/models/space_kind.py +0 -10
  231. dart/generated/models/space_update.py +0 -341
  232. dart/generated/models/sprint_mode.py +0 -9
  233. dart/generated/models/status.py +0 -141
  234. dart/generated/models/status_create.py +0 -125
  235. dart/generated/models/status_kind.py +0 -12
  236. dart/generated/models/status_update.py +0 -135
  237. dart/generated/models/statuses_list_kind.py +0 -12
  238. dart/generated/models/subscription.py +0 -9
  239. dart/generated/models/subtask_display_mode.py +0 -10
  240. dart/generated/models/summary_statistic_kind.py +0 -14
  241. dart/generated/models/table_chart_adtl.py +0 -98
  242. dart/generated/models/task_detail_mode.py +0 -10
  243. dart/generated/models/task_doc_relationship.py +0 -96
  244. dart/generated/models/task_doc_relationship_create.py +0 -74
  245. dart/generated/models/task_kind.py +0 -149
  246. dart/generated/models/task_kind_create.py +0 -144
  247. dart/generated/models/task_kind_kind.py +0 -9
  248. dart/generated/models/task_kind_update.py +0 -153
  249. dart/generated/models/task_kinds_list_kind.py +0 -9
  250. dart/generated/models/task_link.py +0 -131
  251. dart/generated/models/task_link_create.py +0 -152
  252. dart/generated/models/task_link_kind.py +0 -19
  253. dart/generated/models/task_link_update.py +0 -155
  254. dart/generated/models/task_notion_document.py +0 -196
  255. dart/generated/models/task_notion_document_block_children_map_type_0.py +0 -43
  256. dart/generated/models/task_notion_document_block_map_type_0.py +0 -43
  257. dart/generated/models/task_notion_document_page_map_type_0.py +0 -43
  258. dart/generated/models/task_properties.py +0 -43
  259. dart/generated/models/task_source_type.py +0 -31
  260. dart/generated/models/tenant.py +0 -386
  261. dart/generated/models/tenant_update.py +0 -166
  262. dart/generated/models/theme.py +0 -10
  263. dart/generated/models/transaction.py +0 -158
  264. dart/generated/models/transaction_kind.py +0 -74
  265. dart/generated/models/transaction_response.py +0 -96
  266. dart/generated/models/user_dartboard_layout.py +0 -66
  267. dart/generated/models/user_dartboard_layout_create.py +0 -74
  268. dart/generated/models/user_data_entity_retrieve_entity_kind.py +0 -32
  269. dart/generated/models/user_role.py +0 -12
  270. dart/generated/models/user_status.py +0 -12
  271. dart/generated/models/user_update.py +0 -210
  272. dart/generated/models/validation_error_response.py +0 -64
  273. dart/generated/models/validation_error_response_items.py +0 -43
  274. dart/generated/models/view_create.py +0 -213
  275. dart/generated/models/view_kind.py +0 -11
  276. dart/generated/models/view_update.py +0 -215
  277. dart/generated/models/webhook.py +0 -96
  278. dart/generated/models/webhook_create.py +0 -77
  279. dart/generated/models/webhook_update.py +0 -78
  280. dart/generated/models/zapier_integration.py +0 -66
  281. dart_tools-0.6.16.dist-info/RECORD +0 -257
  282. dart_tools-0.6.16.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  283. {dart_tools-0.6.16.dist-info → dart_tools-0.7.1.dist-info}/entry_points.txt +0 -0
  284. {dart_tools-0.6.16.dist-info → dart_tools-0.7.1.dist-info/licenses}/LICENSE +0 -0
  285. {dart_tools-0.6.16.dist-info → dart_tools-0.7.1.dist-info}/top_level.txt +0 -0
@@ -1,13 +1,8 @@
1
- import datetime
2
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
- from dateutil.parser import isoparse
7
-
8
- from ..models.icon_kind import IconKind
9
- from ..models.report_kind import ReportKind
10
- from ..types import UNSET, Unset
11
6
 
12
7
  T = TypeVar("T", bound="Doc")
13
8
 
@@ -16,218 +11,71 @@ T = TypeVar("T", bound="Doc")
16
11
  class Doc:
17
12
  """
18
13
  Attributes:
19
- duid (str):
20
- created_at (datetime.datetime):
21
- updated_at (datetime.datetime):
22
- drafter_duid (Union[None, str]):
23
- in_trash (bool):
24
- folder_duid (str):
25
- report_kind (Union[None, ReportKind]):
26
- order (str):
27
- title (str):
28
- text (Any):
29
- edited_by_ai (bool):
30
- recommendation_duid (Union[None, str]):
31
- editor_duids (List[str]):
32
- subscriber_duids (List[str]):
33
- icon_kind (IconKind): * `None` - NONE
34
- * `Icon` - ICON
35
- * `Emoji` - EMOJI
36
- icon_name_or_emoji (str):
37
- color_hex (str):
38
- updated_by_client_duid (Union[None, Unset, str]):
14
+ id (str): The universal, unique ID of the doc.
15
+ html_url (str): The URL that can be used to open the doc in the Dart web UI.
16
+ title (str): The title, which is a short description of the doc.
17
+ folder (str): The full title of the folder, which is a project or list of docs.
18
+ text (str): The full content of the doc, which can include markdown formatting.
39
19
  """
40
20
 
41
- duid: str
42
- created_at: datetime.datetime
43
- updated_at: datetime.datetime
44
- drafter_duid: Union[None, str]
45
- in_trash: bool
46
- folder_duid: str
47
- report_kind: Union[None, ReportKind]
48
- order: str
21
+ id: str
22
+ html_url: str
49
23
  title: str
50
- text: Any
51
- edited_by_ai: bool
52
- recommendation_duid: Union[None, str]
53
- editor_duids: List[str]
54
- subscriber_duids: List[str]
55
- icon_kind: IconKind
56
- icon_name_or_emoji: str
57
- color_hex: str
58
- updated_by_client_duid: Union[None, Unset, str] = UNSET
59
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
60
-
61
- def to_dict(self) -> Dict[str, Any]:
62
- duid = self.duid
63
-
64
- created_at = self.created_at.isoformat()
65
-
66
- updated_at = self.updated_at.isoformat()
67
-
68
- drafter_duid: Union[None, str]
69
- drafter_duid = self.drafter_duid
24
+ folder: str
25
+ text: str
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
70
27
 
71
- in_trash = self.in_trash
28
+ def to_dict(self) -> dict[str, Any]:
29
+ id = self.id
72
30
 
73
- folder_duid = self.folder_duid
74
-
75
- report_kind: Union[None, str]
76
- if isinstance(self.report_kind, ReportKind):
77
- report_kind = self.report_kind.value
78
- else:
79
- report_kind = self.report_kind
80
-
81
- order = self.order
31
+ html_url = self.html_url
82
32
 
83
33
  title = self.title
84
34
 
85
- text = self.text
86
-
87
- edited_by_ai = self.edited_by_ai
35
+ folder = self.folder
88
36
 
89
- recommendation_duid: Union[None, str]
90
- recommendation_duid = self.recommendation_duid
91
-
92
- editor_duids = self.editor_duids
93
-
94
- subscriber_duids = self.subscriber_duids
95
-
96
- icon_kind = self.icon_kind.value
97
-
98
- icon_name_or_emoji = self.icon_name_or_emoji
99
-
100
- color_hex = self.color_hex
101
-
102
- updated_by_client_duid: Union[None, Unset, str]
103
- if isinstance(self.updated_by_client_duid, Unset):
104
- updated_by_client_duid = UNSET
105
- else:
106
- updated_by_client_duid = self.updated_by_client_duid
37
+ text = self.text
107
38
 
108
- field_dict: Dict[str, Any] = {}
39
+ field_dict: dict[str, Any] = {}
109
40
  field_dict.update(self.additional_properties)
110
41
  field_dict.update(
111
42
  {
112
- "duid": duid,
113
- "createdAt": created_at,
114
- "updatedAt": updated_at,
115
- "drafterDuid": drafter_duid,
116
- "inTrash": in_trash,
117
- "folderDuid": folder_duid,
118
- "reportKind": report_kind,
119
- "order": order,
43
+ "id": id,
44
+ "htmlUrl": html_url,
120
45
  "title": title,
46
+ "folder": folder,
121
47
  "text": text,
122
- "editedByAi": edited_by_ai,
123
- "recommendationDuid": recommendation_duid,
124
- "editorDuids": editor_duids,
125
- "subscriberDuids": subscriber_duids,
126
- "iconKind": icon_kind,
127
- "iconNameOrEmoji": icon_name_or_emoji,
128
- "colorHex": color_hex,
129
48
  }
130
49
  )
131
- if updated_by_client_duid is not UNSET:
132
- field_dict["updatedByClientDuid"] = updated_by_client_duid
133
50
 
134
51
  return field_dict
135
52
 
136
53
  @classmethod
137
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
138
- d = src_dict.copy()
139
- duid = d.pop("duid")
140
-
141
- created_at = isoparse(d.pop("createdAt"))
142
-
143
- updated_at = isoparse(d.pop("updatedAt"))
54
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
55
+ d = dict(src_dict)
56
+ id = d.pop("id")
144
57
 
145
- def _parse_drafter_duid(data: object) -> Union[None, str]:
146
- if data is None:
147
- return data
148
- return cast(Union[None, str], data)
149
-
150
- drafter_duid = _parse_drafter_duid(d.pop("drafterDuid"))
151
-
152
- in_trash = d.pop("inTrash")
153
-
154
- folder_duid = d.pop("folderDuid")
155
-
156
- def _parse_report_kind(data: object) -> Union[None, ReportKind]:
157
- if data is None:
158
- return data
159
- try:
160
- if not isinstance(data, str):
161
- raise TypeError()
162
- report_kind_type_0 = ReportKind(data)
163
-
164
- return report_kind_type_0
165
- except: # noqa: E722
166
- pass
167
- return cast(Union[None, ReportKind], data)
168
-
169
- report_kind = _parse_report_kind(d.pop("reportKind"))
170
-
171
- order = d.pop("order")
58
+ html_url = d.pop("htmlUrl")
172
59
 
173
60
  title = d.pop("title")
174
61
 
175
- text = d.pop("text")
176
-
177
- edited_by_ai = d.pop("editedByAi")
62
+ folder = d.pop("folder")
178
63
 
179
- def _parse_recommendation_duid(data: object) -> Union[None, str]:
180
- if data is None:
181
- return data
182
- return cast(Union[None, str], data)
183
-
184
- recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid"))
185
-
186
- editor_duids = cast(List[str], d.pop("editorDuids"))
187
-
188
- subscriber_duids = cast(List[str], d.pop("subscriberDuids"))
189
-
190
- icon_kind = IconKind(d.pop("iconKind"))
191
-
192
- icon_name_or_emoji = d.pop("iconNameOrEmoji")
193
-
194
- color_hex = d.pop("colorHex")
195
-
196
- def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
197
- if data is None:
198
- return data
199
- if isinstance(data, Unset):
200
- return data
201
- return cast(Union[None, Unset, str], data)
202
-
203
- updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
64
+ text = d.pop("text")
204
65
 
205
66
  doc = cls(
206
- duid=duid,
207
- created_at=created_at,
208
- updated_at=updated_at,
209
- drafter_duid=drafter_duid,
210
- in_trash=in_trash,
211
- folder_duid=folder_duid,
212
- report_kind=report_kind,
213
- order=order,
67
+ id=id,
68
+ html_url=html_url,
214
69
  title=title,
70
+ folder=folder,
215
71
  text=text,
216
- edited_by_ai=edited_by_ai,
217
- recommendation_duid=recommendation_duid,
218
- editor_duids=editor_duids,
219
- subscriber_duids=subscriber_duids,
220
- icon_kind=icon_kind,
221
- icon_name_or_emoji=icon_name_or_emoji,
222
- color_hex=color_hex,
223
- updated_by_client_duid=updated_by_client_duid,
224
72
  )
225
73
 
226
74
  doc.additional_properties = d
227
75
  return doc
228
76
 
229
77
  @property
230
- def additional_keys(self) -> List[str]:
78
+ def additional_keys(self) -> list[str]:
231
79
  return list(self.additional_properties.keys())
232
80
 
233
81
  def __getitem__(self, key: str) -> Any:
@@ -1,11 +1,9 @@
1
- from typing import Any, Dict, List, Type, TypeVar, Union, cast
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
2
3
 
3
4
  from attrs import define as _attrs_define
4
5
  from attrs import field as _attrs_field
5
6
 
6
- from ..models.doc_source_type import DocSourceType
7
- from ..models.icon_kind import IconKind
8
- from ..models.report_kind import ReportKind
9
7
  from ..types import UNSET, Unset
10
8
 
11
9
  T = TypeVar("T", bound="DocCreate")
@@ -15,271 +13,57 @@ T = TypeVar("T", bound="DocCreate")
15
13
  class DocCreate:
16
14
  """
17
15
  Attributes:
18
- duid (str):
19
- source_user (Union[None, Unset, str]):
20
- source_type (Union[Unset, DocSourceType]): * `Unknown` - UNKNOWN
21
- * `Onboarding` - ONBOARDING
22
- * `Recommendation` - RECOMMENDATION
23
- * `GeneratedReport` - GENERATED_REPORT
24
- * `ChatGPT` - CHAT_GPT
25
- * `Application` - APPLICATION Default: DocSourceType.UNKNOWN.
26
- drafter_duid (Union[None, Unset, str]):
27
- in_trash (Union[Unset, bool]):
28
- folder_duid (Union[Unset, str]):
29
- report_kind (Union[None, ReportKind, Unset]):
30
- order (Union[Unset, str]):
31
- title (Union[Unset, str]):
32
- text (Union[Unset, Any]):
33
- text_markdown (Union[Unset, str]):
34
- edited_by_ai (Union[Unset, bool]):
35
- recommendation_duid (Union[None, Unset, str]):
36
- editor_duids (Union[Unset, List[str]]):
37
- subscriber_duids (Union[Unset, List[str]]):
38
- icon_kind (Union[Unset, IconKind]): * `None` - NONE
39
- * `Icon` - ICON
40
- * `Emoji` - EMOJI
41
- icon_name_or_emoji (Union[Unset, str]):
42
- color_hex (Union[Unset, str]):
16
+ title (str): The title, which is a short description of the doc.
17
+ folder (Union[Unset, str]): The full title of the folder, which is a project or list of docs.
18
+ text (Union[Unset, str]): The full content of the doc, which can include markdown formatting.
43
19
  """
44
20
 
45
- duid: str
46
- source_user: Union[None, Unset, str] = UNSET
47
- source_type: Union[Unset, DocSourceType] = DocSourceType.UNKNOWN
48
- drafter_duid: Union[None, Unset, str] = UNSET
49
- in_trash: Union[Unset, bool] = UNSET
50
- folder_duid: Union[Unset, str] = UNSET
51
- report_kind: Union[None, ReportKind, Unset] = UNSET
52
- order: Union[Unset, str] = UNSET
53
- title: Union[Unset, str] = UNSET
54
- text: Union[Unset, Any] = UNSET
55
- text_markdown: Union[Unset, str] = UNSET
56
- edited_by_ai: Union[Unset, bool] = UNSET
57
- recommendation_duid: Union[None, Unset, str] = UNSET
58
- editor_duids: Union[Unset, List[str]] = UNSET
59
- subscriber_duids: Union[Unset, List[str]] = UNSET
60
- icon_kind: Union[Unset, IconKind] = UNSET
61
- icon_name_or_emoji: Union[Unset, str] = UNSET
62
- color_hex: Union[Unset, str] = UNSET
63
- additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
64
-
65
- def to_dict(self) -> Dict[str, Any]:
66
- duid = self.duid
67
-
68
- source_user: Union[None, Unset, str]
69
- if isinstance(self.source_user, Unset):
70
- source_user = UNSET
71
- else:
72
- source_user = self.source_user
73
-
74
- source_type: Union[Unset, str] = UNSET
75
- if not isinstance(self.source_type, Unset):
76
- source_type = self.source_type.value
77
-
78
- drafter_duid: Union[None, Unset, str]
79
- if isinstance(self.drafter_duid, Unset):
80
- drafter_duid = UNSET
81
- else:
82
- drafter_duid = self.drafter_duid
83
-
84
- in_trash = self.in_trash
85
-
86
- folder_duid = self.folder_duid
87
-
88
- report_kind: Union[None, Unset, str]
89
- if isinstance(self.report_kind, Unset):
90
- report_kind = UNSET
91
- elif isinstance(self.report_kind, ReportKind):
92
- report_kind = self.report_kind.value
93
- else:
94
- report_kind = self.report_kind
95
-
96
- order = self.order
21
+ title: str
22
+ folder: Union[Unset, str] = UNSET
23
+ text: Union[Unset, str] = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
97
25
 
26
+ def to_dict(self) -> dict[str, Any]:
98
27
  title = self.title
99
28
 
100
- text = self.text
101
-
102
- text_markdown = self.text_markdown
29
+ folder = self.folder
103
30
 
104
- edited_by_ai = self.edited_by_ai
105
-
106
- recommendation_duid: Union[None, Unset, str]
107
- if isinstance(self.recommendation_duid, Unset):
108
- recommendation_duid = UNSET
109
- else:
110
- recommendation_duid = self.recommendation_duid
111
-
112
- editor_duids: Union[Unset, List[str]] = UNSET
113
- if not isinstance(self.editor_duids, Unset):
114
- editor_duids = self.editor_duids
115
-
116
- subscriber_duids: Union[Unset, List[str]] = UNSET
117
- if not isinstance(self.subscriber_duids, Unset):
118
- subscriber_duids = self.subscriber_duids
119
-
120
- icon_kind: Union[Unset, str] = UNSET
121
- if not isinstance(self.icon_kind, Unset):
122
- icon_kind = self.icon_kind.value
123
-
124
- icon_name_or_emoji = self.icon_name_or_emoji
125
-
126
- color_hex = self.color_hex
31
+ text = self.text
127
32
 
128
- field_dict: Dict[str, Any] = {}
33
+ field_dict: dict[str, Any] = {}
129
34
  field_dict.update(self.additional_properties)
130
35
  field_dict.update(
131
36
  {
132
- "duid": duid,
37
+ "title": title,
133
38
  }
134
39
  )
135
- if source_user is not UNSET:
136
- field_dict["sourceUser"] = source_user
137
- if source_type is not UNSET:
138
- field_dict["sourceType"] = source_type
139
- if drafter_duid is not UNSET:
140
- field_dict["drafterDuid"] = drafter_duid
141
- if in_trash is not UNSET:
142
- field_dict["inTrash"] = in_trash
143
- if folder_duid is not UNSET:
144
- field_dict["folderDuid"] = folder_duid
145
- if report_kind is not UNSET:
146
- field_dict["reportKind"] = report_kind
147
- if order is not UNSET:
148
- field_dict["order"] = order
149
- if title is not UNSET:
150
- field_dict["title"] = title
40
+ if folder is not UNSET:
41
+ field_dict["folder"] = folder
151
42
  if text is not UNSET:
152
43
  field_dict["text"] = text
153
- if text_markdown is not UNSET:
154
- field_dict["textMarkdown"] = text_markdown
155
- if edited_by_ai is not UNSET:
156
- field_dict["editedByAi"] = edited_by_ai
157
- if recommendation_duid is not UNSET:
158
- field_dict["recommendationDuid"] = recommendation_duid
159
- if editor_duids is not UNSET:
160
- field_dict["editorDuids"] = editor_duids
161
- if subscriber_duids is not UNSET:
162
- field_dict["subscriberDuids"] = subscriber_duids
163
- if icon_kind is not UNSET:
164
- field_dict["iconKind"] = icon_kind
165
- if icon_name_or_emoji is not UNSET:
166
- field_dict["iconNameOrEmoji"] = icon_name_or_emoji
167
- if color_hex is not UNSET:
168
- field_dict["colorHex"] = color_hex
169
44
 
170
45
  return field_dict
171
46
 
172
47
  @classmethod
173
- def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
174
- d = src_dict.copy()
175
- duid = d.pop("duid")
176
-
177
- def _parse_source_user(data: object) -> Union[None, Unset, str]:
178
- if data is None:
179
- return data
180
- if isinstance(data, Unset):
181
- return data
182
- return cast(Union[None, Unset, str], data)
183
-
184
- source_user = _parse_source_user(d.pop("sourceUser", UNSET))
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ d = dict(src_dict)
50
+ title = d.pop("title")
185
51
 
186
- _source_type = d.pop("sourceType", UNSET)
187
- source_type: Union[Unset, DocSourceType]
188
- if isinstance(_source_type, Unset):
189
- source_type = UNSET
190
- else:
191
- source_type = DocSourceType(_source_type)
192
-
193
- def _parse_drafter_duid(data: object) -> Union[None, Unset, str]:
194
- if data is None:
195
- return data
196
- if isinstance(data, Unset):
197
- return data
198
- return cast(Union[None, Unset, str], data)
199
-
200
- drafter_duid = _parse_drafter_duid(d.pop("drafterDuid", UNSET))
201
-
202
- in_trash = d.pop("inTrash", UNSET)
203
-
204
- folder_duid = d.pop("folderDuid", UNSET)
205
-
206
- def _parse_report_kind(data: object) -> Union[None, ReportKind, Unset]:
207
- if data is None:
208
- return data
209
- if isinstance(data, Unset):
210
- return data
211
- try:
212
- if not isinstance(data, str):
213
- raise TypeError()
214
- report_kind_type_0 = ReportKind(data)
215
-
216
- return report_kind_type_0
217
- except: # noqa: E722
218
- pass
219
- return cast(Union[None, ReportKind, Unset], data)
220
-
221
- report_kind = _parse_report_kind(d.pop("reportKind", UNSET))
222
-
223
- order = d.pop("order", UNSET)
224
-
225
- title = d.pop("title", UNSET)
52
+ folder = d.pop("folder", UNSET)
226
53
 
227
54
  text = d.pop("text", UNSET)
228
55
 
229
- text_markdown = d.pop("textMarkdown", UNSET)
230
-
231
- edited_by_ai = d.pop("editedByAi", UNSET)
232
-
233
- def _parse_recommendation_duid(data: object) -> Union[None, Unset, str]:
234
- if data is None:
235
- return data
236
- if isinstance(data, Unset):
237
- return data
238
- return cast(Union[None, Unset, str], data)
239
-
240
- recommendation_duid = _parse_recommendation_duid(d.pop("recommendationDuid", UNSET))
241
-
242
- editor_duids = cast(List[str], d.pop("editorDuids", UNSET))
243
-
244
- subscriber_duids = cast(List[str], d.pop("subscriberDuids", UNSET))
245
-
246
- _icon_kind = d.pop("iconKind", UNSET)
247
- icon_kind: Union[Unset, IconKind]
248
- if isinstance(_icon_kind, Unset):
249
- icon_kind = UNSET
250
- else:
251
- icon_kind = IconKind(_icon_kind)
252
-
253
- icon_name_or_emoji = d.pop("iconNameOrEmoji", UNSET)
254
-
255
- color_hex = d.pop("colorHex", UNSET)
256
-
257
56
  doc_create = cls(
258
- duid=duid,
259
- source_user=source_user,
260
- source_type=source_type,
261
- drafter_duid=drafter_duid,
262
- in_trash=in_trash,
263
- folder_duid=folder_duid,
264
- report_kind=report_kind,
265
- order=order,
266
57
  title=title,
58
+ folder=folder,
267
59
  text=text,
268
- text_markdown=text_markdown,
269
- edited_by_ai=edited_by_ai,
270
- recommendation_duid=recommendation_duid,
271
- editor_duids=editor_duids,
272
- subscriber_duids=subscriber_duids,
273
- icon_kind=icon_kind,
274
- icon_name_or_emoji=icon_name_or_emoji,
275
- color_hex=color_hex,
276
60
  )
277
61
 
278
62
  doc_create.additional_properties = d
279
63
  return doc_create
280
64
 
281
65
  @property
282
- def additional_keys(self) -> List[str]:
66
+ def additional_keys(self) -> list[str]:
283
67
  return list(self.additional_properties.keys())
284
68
 
285
69
  def __getitem__(self, key: str) -> Any: