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,116 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.filter_applicability import FilterApplicability
7
+ from ..models.filter_connector import FilterConnector
8
+
9
+ T = TypeVar("T", bound="FilterSet")
10
+
11
+
12
+ @_attrs_define
13
+ class FilterSet:
14
+ """
15
+ Attributes:
16
+ id (str):
17
+ field (str):
18
+ locked (bool):
19
+ applicability (FilterApplicability): * `is` - IS
20
+ * `is not` - IS_NOT
21
+ * `is not set` - IS_NOT_SET
22
+ * `include` - INCLUDE
23
+ * `don't include` - DO_NOT_INCLUDE
24
+ * `are not set` - ARE_NOT_SET
25
+ * `exists` - EXISTS
26
+ * `exist` - EXIST
27
+ * `contains` - CONTAINS
28
+ * `contain` - CONTAIN
29
+ * `is before` - IS_BEFORE
30
+ * `is after` - IS_AFTER
31
+ * `is between` - IS_BETWEEN
32
+ * `is checked` - IS_CHECKED
33
+ * `is unchecked` - IS_UNCHECKED
34
+ connector (FilterConnector): * `or` - OR
35
+ * `and` - AND
36
+ values (List[Any]):
37
+ """
38
+
39
+ id: str
40
+ field: str
41
+ locked: bool
42
+ applicability: FilterApplicability
43
+ connector: FilterConnector
44
+ values: List[Any]
45
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
46
+
47
+ def to_dict(self) -> Dict[str, Any]:
48
+ id = self.id
49
+
50
+ field = self.field
51
+
52
+ locked = self.locked
53
+
54
+ applicability = self.applicability.value
55
+
56
+ connector = self.connector.value
57
+
58
+ values = self.values
59
+
60
+ field_dict: Dict[str, Any] = {}
61
+ field_dict.update(self.additional_properties)
62
+ field_dict.update(
63
+ {
64
+ "id": id,
65
+ "field": field,
66
+ "locked": locked,
67
+ "applicability": applicability,
68
+ "connector": connector,
69
+ "values": values,
70
+ }
71
+ )
72
+
73
+ return field_dict
74
+
75
+ @classmethod
76
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
77
+ d = src_dict.copy()
78
+ id = d.pop("id")
79
+
80
+ field = d.pop("field")
81
+
82
+ locked = d.pop("locked")
83
+
84
+ applicability = FilterApplicability(d.pop("applicability"))
85
+
86
+ connector = FilterConnector(d.pop("connector"))
87
+
88
+ values = cast(List[Any], d.pop("values"))
89
+
90
+ filter_set = cls(
91
+ id=id,
92
+ field=field,
93
+ locked=locked,
94
+ applicability=applicability,
95
+ connector=connector,
96
+ values=values,
97
+ )
98
+
99
+ filter_set.additional_properties = d
100
+ return filter_set
101
+
102
+ @property
103
+ def additional_keys(self) -> List[str]:
104
+ return list(self.additional_properties.keys())
105
+
106
+ def __getitem__(self, key: str) -> Any:
107
+ return self.additional_properties[key]
108
+
109
+ def __setitem__(self, key: str, value: Any) -> None:
110
+ self.additional_properties[key] = value
111
+
112
+ def __delitem__(self, key: str) -> None:
113
+ del self.additional_properties[key]
114
+
115
+ def __contains__(self, key: str) -> bool:
116
+ return key in self.additional_properties
@@ -0,0 +1,150 @@
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.folder_kind import FolderKind
7
+ from ..models.icon_kind import IconKind
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="Folder")
11
+
12
+
13
+ @_attrs_define
14
+ class Folder:
15
+ """
16
+ Attributes:
17
+ duid (str):
18
+ space_duid (str):
19
+ kind (FolderKind): * `Other` - OTHER
20
+ * `Default` - DEFAULT
21
+ * `Reports` - REPORTS
22
+ order (str):
23
+ title (str):
24
+ description (str):
25
+ icon_kind (IconKind): * `None` - NONE
26
+ * `Icon` - ICON
27
+ * `Emoji` - EMOJI
28
+ icon_name_or_emoji (str):
29
+ color_hex (str):
30
+ updated_by_client_duid (Union[None, Unset, str]):
31
+ """
32
+
33
+ duid: str
34
+ space_duid: str
35
+ kind: FolderKind
36
+ order: str
37
+ title: str
38
+ description: str
39
+ icon_kind: IconKind
40
+ icon_name_or_emoji: str
41
+ color_hex: str
42
+ updated_by_client_duid: 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
+ space_duid = self.space_duid
49
+
50
+ kind = self.kind.value
51
+
52
+ order = self.order
53
+
54
+ title = self.title
55
+
56
+ description = self.description
57
+
58
+ icon_kind = self.icon_kind.value
59
+
60
+ icon_name_or_emoji = self.icon_name_or_emoji
61
+
62
+ color_hex = self.color_hex
63
+
64
+ updated_by_client_duid: Union[None, Unset, str]
65
+ if isinstance(self.updated_by_client_duid, Unset):
66
+ updated_by_client_duid = UNSET
67
+ else:
68
+ updated_by_client_duid = self.updated_by_client_duid
69
+
70
+ field_dict: Dict[str, Any] = {}
71
+ field_dict.update(self.additional_properties)
72
+ field_dict.update(
73
+ {
74
+ "duid": duid,
75
+ "spaceDuid": space_duid,
76
+ "kind": kind,
77
+ "order": order,
78
+ "title": title,
79
+ "description": description,
80
+ "iconKind": icon_kind,
81
+ "iconNameOrEmoji": icon_name_or_emoji,
82
+ "colorHex": color_hex,
83
+ }
84
+ )
85
+ if updated_by_client_duid is not UNSET:
86
+ field_dict["updatedByClientDuid"] = updated_by_client_duid
87
+
88
+ return field_dict
89
+
90
+ @classmethod
91
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
92
+ d = src_dict.copy()
93
+ duid = d.pop("duid")
94
+
95
+ space_duid = d.pop("spaceDuid")
96
+
97
+ kind = FolderKind(d.pop("kind"))
98
+
99
+ order = d.pop("order")
100
+
101
+ title = d.pop("title")
102
+
103
+ description = d.pop("description")
104
+
105
+ icon_kind = IconKind(d.pop("iconKind"))
106
+
107
+ icon_name_or_emoji = d.pop("iconNameOrEmoji")
108
+
109
+ color_hex = d.pop("colorHex")
110
+
111
+ def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
112
+ if data is None:
113
+ return data
114
+ if isinstance(data, Unset):
115
+ return data
116
+ return cast(Union[None, Unset, str], data)
117
+
118
+ updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
119
+
120
+ folder = cls(
121
+ duid=duid,
122
+ space_duid=space_duid,
123
+ kind=kind,
124
+ order=order,
125
+ title=title,
126
+ description=description,
127
+ icon_kind=icon_kind,
128
+ icon_name_or_emoji=icon_name_or_emoji,
129
+ color_hex=color_hex,
130
+ updated_by_client_duid=updated_by_client_duid,
131
+ )
132
+
133
+ folder.additional_properties = d
134
+ return folder
135
+
136
+ @property
137
+ def additional_keys(self) -> List[str]:
138
+ return list(self.additional_properties.keys())
139
+
140
+ def __getitem__(self, key: str) -> Any:
141
+ return self.additional_properties[key]
142
+
143
+ def __setitem__(self, key: str, value: Any) -> None:
144
+ self.additional_properties[key] = value
145
+
146
+ def __delitem__(self, key: str) -> None:
147
+ del self.additional_properties[key]
148
+
149
+ def __contains__(self, key: str) -> bool:
150
+ return key in self.additional_properties
@@ -0,0 +1,150 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.folder_kind import FolderKind
7
+ from ..models.icon_kind import IconKind
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="FolderCreate")
11
+
12
+
13
+ @_attrs_define
14
+ class FolderCreate:
15
+ """
16
+ Attributes:
17
+ duid (str):
18
+ space_duid (str):
19
+ order (str):
20
+ kind (Union[Unset, FolderKind]): * `Other` - OTHER
21
+ * `Default` - DEFAULT
22
+ * `Reports` - REPORTS
23
+ title (Union[Unset, str]):
24
+ description (Union[Unset, str]):
25
+ icon_kind (Union[Unset, IconKind]): * `None` - NONE
26
+ * `Icon` - ICON
27
+ * `Emoji` - EMOJI
28
+ icon_name_or_emoji (Union[Unset, str]):
29
+ color_hex (Union[Unset, str]):
30
+ """
31
+
32
+ duid: str
33
+ space_duid: str
34
+ order: str
35
+ kind: Union[Unset, FolderKind] = UNSET
36
+ title: Union[Unset, str] = UNSET
37
+ description: Union[Unset, str] = UNSET
38
+ icon_kind: Union[Unset, IconKind] = UNSET
39
+ icon_name_or_emoji: Union[Unset, str] = UNSET
40
+ color_hex: Union[Unset, str] = UNSET
41
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
42
+
43
+ def to_dict(self) -> Dict[str, Any]:
44
+ duid = self.duid
45
+
46
+ space_duid = self.space_duid
47
+
48
+ order = self.order
49
+
50
+ kind: Union[Unset, str] = UNSET
51
+ if not isinstance(self.kind, Unset):
52
+ kind = self.kind.value
53
+
54
+ title = self.title
55
+
56
+ description = self.description
57
+
58
+ icon_kind: Union[Unset, str] = UNSET
59
+ if not isinstance(self.icon_kind, Unset):
60
+ icon_kind = self.icon_kind.value
61
+
62
+ icon_name_or_emoji = self.icon_name_or_emoji
63
+
64
+ color_hex = self.color_hex
65
+
66
+ field_dict: Dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update(
69
+ {
70
+ "duid": duid,
71
+ "spaceDuid": space_duid,
72
+ "order": order,
73
+ }
74
+ )
75
+ if kind is not UNSET:
76
+ field_dict["kind"] = kind
77
+ if title is not UNSET:
78
+ field_dict["title"] = title
79
+ if description is not UNSET:
80
+ field_dict["description"] = description
81
+ if icon_kind is not UNSET:
82
+ field_dict["iconKind"] = icon_kind
83
+ if icon_name_or_emoji is not UNSET:
84
+ field_dict["iconNameOrEmoji"] = icon_name_or_emoji
85
+ if color_hex is not UNSET:
86
+ field_dict["colorHex"] = color_hex
87
+
88
+ return field_dict
89
+
90
+ @classmethod
91
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
92
+ d = src_dict.copy()
93
+ duid = d.pop("duid")
94
+
95
+ space_duid = d.pop("spaceDuid")
96
+
97
+ order = d.pop("order")
98
+
99
+ _kind = d.pop("kind", UNSET)
100
+ kind: Union[Unset, FolderKind]
101
+ if isinstance(_kind, Unset):
102
+ kind = UNSET
103
+ else:
104
+ kind = FolderKind(_kind)
105
+
106
+ title = d.pop("title", UNSET)
107
+
108
+ description = d.pop("description", UNSET)
109
+
110
+ _icon_kind = d.pop("iconKind", UNSET)
111
+ icon_kind: Union[Unset, IconKind]
112
+ if isinstance(_icon_kind, Unset):
113
+ icon_kind = UNSET
114
+ else:
115
+ icon_kind = IconKind(_icon_kind)
116
+
117
+ icon_name_or_emoji = d.pop("iconNameOrEmoji", UNSET)
118
+
119
+ color_hex = d.pop("colorHex", UNSET)
120
+
121
+ folder_create = cls(
122
+ duid=duid,
123
+ space_duid=space_duid,
124
+ order=order,
125
+ kind=kind,
126
+ title=title,
127
+ description=description,
128
+ icon_kind=icon_kind,
129
+ icon_name_or_emoji=icon_name_or_emoji,
130
+ color_hex=color_hex,
131
+ )
132
+
133
+ folder_create.additional_properties = d
134
+ return folder_create
135
+
136
+ @property
137
+ def additional_keys(self) -> List[str]:
138
+ return list(self.additional_properties.keys())
139
+
140
+ def __getitem__(self, key: str) -> Any:
141
+ return self.additional_properties[key]
142
+
143
+ def __setitem__(self, key: str, value: Any) -> None:
144
+ self.additional_properties[key] = value
145
+
146
+ def __delitem__(self, key: str) -> None:
147
+ del self.additional_properties[key]
148
+
149
+ def __contains__(self, key: str) -> bool:
150
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class FolderKind(str, Enum):
5
+ DEFAULT = "Default"
6
+ OTHER = "Other"
7
+ REPORTS = "Reports"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,152 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..models.folder_kind import FolderKind
7
+ from ..models.icon_kind import IconKind
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="FolderUpdate")
11
+
12
+
13
+ @_attrs_define
14
+ class FolderUpdate:
15
+ """
16
+ Attributes:
17
+ duid (str):
18
+ space_duid (Union[Unset, str]):
19
+ kind (Union[Unset, FolderKind]): * `Other` - OTHER
20
+ * `Default` - DEFAULT
21
+ * `Reports` - REPORTS
22
+ order (Union[Unset, str]):
23
+ title (Union[Unset, str]):
24
+ description (Union[Unset, str]):
25
+ icon_kind (Union[Unset, IconKind]): * `None` - NONE
26
+ * `Icon` - ICON
27
+ * `Emoji` - EMOJI
28
+ icon_name_or_emoji (Union[Unset, str]):
29
+ color_hex (Union[Unset, str]):
30
+ """
31
+
32
+ duid: str
33
+ space_duid: Union[Unset, str] = UNSET
34
+ kind: Union[Unset, FolderKind] = UNSET
35
+ order: Union[Unset, str] = UNSET
36
+ title: Union[Unset, str] = UNSET
37
+ description: Union[Unset, str] = UNSET
38
+ icon_kind: Union[Unset, IconKind] = UNSET
39
+ icon_name_or_emoji: Union[Unset, str] = UNSET
40
+ color_hex: Union[Unset, str] = UNSET
41
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
42
+
43
+ def to_dict(self) -> Dict[str, Any]:
44
+ duid = self.duid
45
+
46
+ space_duid = self.space_duid
47
+
48
+ kind: Union[Unset, str] = UNSET
49
+ if not isinstance(self.kind, Unset):
50
+ kind = self.kind.value
51
+
52
+ order = self.order
53
+
54
+ title = self.title
55
+
56
+ description = self.description
57
+
58
+ icon_kind: Union[Unset, str] = UNSET
59
+ if not isinstance(self.icon_kind, Unset):
60
+ icon_kind = self.icon_kind.value
61
+
62
+ icon_name_or_emoji = self.icon_name_or_emoji
63
+
64
+ color_hex = self.color_hex
65
+
66
+ field_dict: Dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update(
69
+ {
70
+ "duid": duid,
71
+ }
72
+ )
73
+ if space_duid is not UNSET:
74
+ field_dict["spaceDuid"] = space_duid
75
+ if kind is not UNSET:
76
+ field_dict["kind"] = kind
77
+ if order is not UNSET:
78
+ field_dict["order"] = order
79
+ if title is not UNSET:
80
+ field_dict["title"] = title
81
+ if description is not UNSET:
82
+ field_dict["description"] = description
83
+ if icon_kind is not UNSET:
84
+ field_dict["iconKind"] = icon_kind
85
+ if icon_name_or_emoji is not UNSET:
86
+ field_dict["iconNameOrEmoji"] = icon_name_or_emoji
87
+ if color_hex is not UNSET:
88
+ field_dict["colorHex"] = color_hex
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
+ space_duid = d.pop("spaceDuid", UNSET)
98
+
99
+ _kind = d.pop("kind", UNSET)
100
+ kind: Union[Unset, FolderKind]
101
+ if isinstance(_kind, Unset):
102
+ kind = UNSET
103
+ else:
104
+ kind = FolderKind(_kind)
105
+
106
+ order = d.pop("order", UNSET)
107
+
108
+ title = d.pop("title", UNSET)
109
+
110
+ description = d.pop("description", UNSET)
111
+
112
+ _icon_kind = d.pop("iconKind", UNSET)
113
+ icon_kind: Union[Unset, IconKind]
114
+ if isinstance(_icon_kind, Unset):
115
+ icon_kind = UNSET
116
+ else:
117
+ icon_kind = IconKind(_icon_kind)
118
+
119
+ icon_name_or_emoji = d.pop("iconNameOrEmoji", UNSET)
120
+
121
+ color_hex = d.pop("colorHex", UNSET)
122
+
123
+ folder_update = cls(
124
+ duid=duid,
125
+ space_duid=space_duid,
126
+ kind=kind,
127
+ order=order,
128
+ title=title,
129
+ description=description,
130
+ icon_kind=icon_kind,
131
+ icon_name_or_emoji=icon_name_or_emoji,
132
+ color_hex=color_hex,
133
+ )
134
+
135
+ folder_update.additional_properties = d
136
+ return folder_update
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,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class FoldersListKind(str, Enum):
5
+ DEFAULT = "Default"
6
+ OTHER = "Other"
7
+ REPORTS = "Reports"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)