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,74 @@
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="UserDartboardLayoutCreate")
7
+
8
+
9
+ @_attrs_define
10
+ class UserDartboardLayoutCreate:
11
+ """
12
+ Attributes:
13
+ user_duid (str):
14
+ dartboard_duid (str):
15
+ layout_duid (str):
16
+ """
17
+
18
+ user_duid: str
19
+ dartboard_duid: str
20
+ layout_duid: str
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ user_duid = self.user_duid
25
+
26
+ dartboard_duid = self.dartboard_duid
27
+
28
+ layout_duid = self.layout_duid
29
+
30
+ field_dict: Dict[str, Any] = {}
31
+ field_dict.update(self.additional_properties)
32
+ field_dict.update(
33
+ {
34
+ "userDuid": user_duid,
35
+ "dartboardDuid": dartboard_duid,
36
+ "layoutDuid": layout_duid,
37
+ }
38
+ )
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ user_duid = d.pop("userDuid")
46
+
47
+ dartboard_duid = d.pop("dartboardDuid")
48
+
49
+ layout_duid = d.pop("layoutDuid")
50
+
51
+ user_dartboard_layout_create = cls(
52
+ user_duid=user_duid,
53
+ dartboard_duid=dartboard_duid,
54
+ layout_duid=layout_duid,
55
+ )
56
+
57
+ user_dartboard_layout_create.additional_properties = d
58
+ return user_dartboard_layout_create
59
+
60
+ @property
61
+ def additional_keys(self) -> List[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Any:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Any) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -0,0 +1,32 @@
1
+ from enum import Enum
2
+
3
+
4
+ class UserDataEntityRetrieveEntityKind(str, Enum):
5
+ ATTACHMENTS = "attachments"
6
+ COMMENTS = "comments"
7
+ DARTBOARDS = "dartboards"
8
+ DASHBOARDS = "dashboards"
9
+ DOCS = "docs"
10
+ FOLDERS = "folders"
11
+ FORMS = "forms"
12
+ FORM_FIELDS = "form-fields"
13
+ LAYOUTS = "layouts"
14
+ LINKS = "links"
15
+ OPTIONS = "options"
16
+ PROPERTIES = "properties"
17
+ REACTIONS = "reactions"
18
+ RELATIONSHIPS = "relationships"
19
+ RELATIONSHIP_KINDS = "relationship-kinds"
20
+ SPACES = "spaces"
21
+ STATUSES = "statuses"
22
+ TASKS = "tasks"
23
+ TASK_DOC_RELATIONSHIPS = "task-doc-relationships"
24
+ TASK_KINDS = "task-kinds"
25
+ TENANTS = "tenants"
26
+ USERS = "users"
27
+ USER_DARTBOARD_LAYOUTS = "user-dartboard-layouts"
28
+ VIEWS = "views"
29
+ WEBHOOKS = "webhooks"
30
+
31
+ def __str__(self) -> str:
32
+ return str(self.value)
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+
4
+ class UserRole(str, Enum):
5
+ ADMIN = "Admin"
6
+ FINANCIAL_ADMIN = "Financial admin"
7
+ GUEST = "Guest"
8
+ MEMBER = "Member"
9
+ TECHNICAL_ADMIN = "Technical admin"
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+
4
+ class UserStatus(str, Enum):
5
+ ACTIVE = "Active"
6
+ DEACTIVATED = "Deactivated"
7
+ INVITED = "Invited"
8
+ PENDINGEMAILVERIFICATION = "PendingEmailVerification"
9
+ PENDINGSUBSCRIPTIONUPGRADE = "PendingSubscriptionUpgrade"
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,210 @@
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.theme import Theme
7
+ from ..models.user_role import UserRole
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="UserUpdate")
11
+
12
+
13
+ @_attrs_define
14
+ class UserUpdate:
15
+ """
16
+ Attributes:
17
+ duid (str):
18
+ role (Union[Unset, UserRole]): * `Admin` - ADMIN
19
+ * `Member` - MEMBER
20
+ * `Guest` - GUEST
21
+ * `Technical admin` - TECHNICAL_ADMIN
22
+ * `Financial admin` - FINANCIAL_ADMIN
23
+ name (Union[Unset, str]):
24
+ theme (Union[Unset, Theme]): * `System Default` - SYSTEM_DEFAULT
25
+ * `Light` - LIGHT
26
+ * `Dark` - DARK
27
+ color_hex (Union[Unset, str]):
28
+ open_in_native_app (Union[Unset, bool]):
29
+ last_url_path (Union[None, Unset, str]):
30
+ first_day_of_week (Union[Unset, int]):
31
+ sections (Union[Unset, Any]):
32
+ layout (Union[Unset, Any]):
33
+ notification_default (Union[Unset, bool]):
34
+ notification_in_app (Union[Unset, bool]):
35
+ notification_email (Union[Unset, bool]):
36
+ notification_slack (Union[Unset, bool]):
37
+ """
38
+
39
+ duid: str
40
+ role: Union[Unset, UserRole] = UNSET
41
+ name: Union[Unset, str] = UNSET
42
+ theme: Union[Unset, Theme] = UNSET
43
+ color_hex: Union[Unset, str] = UNSET
44
+ open_in_native_app: Union[Unset, bool] = UNSET
45
+ last_url_path: Union[None, Unset, str] = UNSET
46
+ first_day_of_week: Union[Unset, int] = UNSET
47
+ sections: Union[Unset, Any] = UNSET
48
+ layout: Union[Unset, Any] = UNSET
49
+ notification_default: Union[Unset, bool] = UNSET
50
+ notification_in_app: Union[Unset, bool] = UNSET
51
+ notification_email: Union[Unset, bool] = UNSET
52
+ notification_slack: Union[Unset, bool] = UNSET
53
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ duid = self.duid
57
+
58
+ role: Union[Unset, str] = UNSET
59
+ if not isinstance(self.role, Unset):
60
+ role = self.role.value
61
+
62
+ name = self.name
63
+
64
+ theme: Union[Unset, str] = UNSET
65
+ if not isinstance(self.theme, Unset):
66
+ theme = self.theme.value
67
+
68
+ color_hex = self.color_hex
69
+
70
+ open_in_native_app = self.open_in_native_app
71
+
72
+ last_url_path: Union[None, Unset, str]
73
+ if isinstance(self.last_url_path, Unset):
74
+ last_url_path = UNSET
75
+ else:
76
+ last_url_path = self.last_url_path
77
+
78
+ first_day_of_week = self.first_day_of_week
79
+
80
+ sections = self.sections
81
+
82
+ layout = self.layout
83
+
84
+ notification_default = self.notification_default
85
+
86
+ notification_in_app = self.notification_in_app
87
+
88
+ notification_email = self.notification_email
89
+
90
+ notification_slack = self.notification_slack
91
+
92
+ field_dict: Dict[str, Any] = {}
93
+ field_dict.update(self.additional_properties)
94
+ field_dict.update(
95
+ {
96
+ "duid": duid,
97
+ }
98
+ )
99
+ if role is not UNSET:
100
+ field_dict["role"] = role
101
+ if name is not UNSET:
102
+ field_dict["name"] = name
103
+ if theme is not UNSET:
104
+ field_dict["theme"] = theme
105
+ if color_hex is not UNSET:
106
+ field_dict["colorHex"] = color_hex
107
+ if open_in_native_app is not UNSET:
108
+ field_dict["openInNativeApp"] = open_in_native_app
109
+ if last_url_path is not UNSET:
110
+ field_dict["lastUrlPath"] = last_url_path
111
+ if first_day_of_week is not UNSET:
112
+ field_dict["firstDayOfWeek"] = first_day_of_week
113
+ if sections is not UNSET:
114
+ field_dict["sections"] = sections
115
+ if layout is not UNSET:
116
+ field_dict["layout"] = layout
117
+ if notification_default is not UNSET:
118
+ field_dict["notificationDefault"] = notification_default
119
+ if notification_in_app is not UNSET:
120
+ field_dict["notificationInApp"] = notification_in_app
121
+ if notification_email is not UNSET:
122
+ field_dict["notificationEmail"] = notification_email
123
+ if notification_slack is not UNSET:
124
+ field_dict["notificationSlack"] = notification_slack
125
+
126
+ return field_dict
127
+
128
+ @classmethod
129
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
130
+ d = src_dict.copy()
131
+ duid = d.pop("duid")
132
+
133
+ _role = d.pop("role", UNSET)
134
+ role: Union[Unset, UserRole]
135
+ if isinstance(_role, Unset):
136
+ role = UNSET
137
+ else:
138
+ role = UserRole(_role)
139
+
140
+ name = d.pop("name", UNSET)
141
+
142
+ _theme = d.pop("theme", UNSET)
143
+ theme: Union[Unset, Theme]
144
+ if isinstance(_theme, Unset):
145
+ theme = UNSET
146
+ else:
147
+ theme = Theme(_theme)
148
+
149
+ color_hex = d.pop("colorHex", UNSET)
150
+
151
+ open_in_native_app = d.pop("openInNativeApp", UNSET)
152
+
153
+ def _parse_last_url_path(data: object) -> Union[None, Unset, str]:
154
+ if data is None:
155
+ return data
156
+ if isinstance(data, Unset):
157
+ return data
158
+ return cast(Union[None, Unset, str], data)
159
+
160
+ last_url_path = _parse_last_url_path(d.pop("lastUrlPath", UNSET))
161
+
162
+ first_day_of_week = d.pop("firstDayOfWeek", UNSET)
163
+
164
+ sections = d.pop("sections", UNSET)
165
+
166
+ layout = d.pop("layout", UNSET)
167
+
168
+ notification_default = d.pop("notificationDefault", UNSET)
169
+
170
+ notification_in_app = d.pop("notificationInApp", UNSET)
171
+
172
+ notification_email = d.pop("notificationEmail", UNSET)
173
+
174
+ notification_slack = d.pop("notificationSlack", UNSET)
175
+
176
+ user_update = cls(
177
+ duid=duid,
178
+ role=role,
179
+ name=name,
180
+ theme=theme,
181
+ color_hex=color_hex,
182
+ open_in_native_app=open_in_native_app,
183
+ last_url_path=last_url_path,
184
+ first_day_of_week=first_day_of_week,
185
+ sections=sections,
186
+ layout=layout,
187
+ notification_default=notification_default,
188
+ notification_in_app=notification_in_app,
189
+ notification_email=notification_email,
190
+ notification_slack=notification_slack,
191
+ )
192
+
193
+ user_update.additional_properties = d
194
+ return user_update
195
+
196
+ @property
197
+ def additional_keys(self) -> List[str]:
198
+ return list(self.additional_properties.keys())
199
+
200
+ def __getitem__(self, key: str) -> Any:
201
+ return self.additional_properties[key]
202
+
203
+ def __setitem__(self, key: str, value: Any) -> None:
204
+ self.additional_properties[key] = value
205
+
206
+ def __delitem__(self, key: str) -> None:
207
+ del self.additional_properties[key]
208
+
209
+ def __contains__(self, key: str) -> bool:
210
+ return key in self.additional_properties
@@ -0,0 +1,64 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.validation_error_response_items import ValidationErrorResponseItems
8
+
9
+
10
+ T = TypeVar("T", bound="ValidationErrorResponse")
11
+
12
+
13
+ @_attrs_define
14
+ class ValidationErrorResponse:
15
+ """
16
+ Attributes:
17
+ items (ValidationErrorResponseItems):
18
+ """
19
+
20
+ items: "ValidationErrorResponseItems"
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ items = self.items.to_dict()
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ field_dict.update(self.additional_properties)
28
+ field_dict.update(
29
+ {
30
+ "items": items,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ from ..models.validation_error_response_items import ValidationErrorResponseItems
39
+
40
+ d = src_dict.copy()
41
+ items = ValidationErrorResponseItems.from_dict(d.pop("items"))
42
+
43
+ validation_error_response = cls(
44
+ items=items,
45
+ )
46
+
47
+ validation_error_response.additional_properties = d
48
+ return validation_error_response
49
+
50
+ @property
51
+ def additional_keys(self) -> List[str]:
52
+ return list(self.additional_properties.keys())
53
+
54
+ def __getitem__(self, key: str) -> Any:
55
+ return self.additional_properties[key]
56
+
57
+ def __setitem__(self, key: str, value: Any) -> None:
58
+ self.additional_properties[key] = value
59
+
60
+ def __delitem__(self, key: str) -> None:
61
+ del self.additional_properties[key]
62
+
63
+ def __contains__(self, key: str) -> bool:
64
+ 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="ValidationErrorResponseItems")
7
+
8
+
9
+ @_attrs_define
10
+ class ValidationErrorResponseItems:
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
+ validation_error_response_items = cls()
25
+
26
+ validation_error_response_items.additional_properties = d
27
+ return validation_error_response_items
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,215 @@
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.icon_kind import IconKind
7
+ from ..models.view_kind import ViewKind
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="View")
11
+
12
+
13
+ @_attrs_define
14
+ class View:
15
+ """
16
+ Attributes:
17
+ duid (str):
18
+ kind (ViewKind): * `Custom` - CUSTOM
19
+ * `Search` - SEARCH
20
+ * `Trash` - TRASH
21
+ * `My tasks` - MY_TASKS
22
+ accessible_by_team (bool):
23
+ accessible_by_user_duids (List[str]):
24
+ public (bool):
25
+ order (str):
26
+ title (str):
27
+ description (str):
28
+ icon_kind (IconKind): * `None` - NONE
29
+ * `Icon` - ICON
30
+ * `Emoji` - EMOJI
31
+ icon_name_or_emoji (str):
32
+ color_hex (str):
33
+ layout_duid (str):
34
+ favorited_by_user_duids (List[str]):
35
+ always_shown_property_duids (List[str]):
36
+ always_hidden_property_duids (List[str]):
37
+ property_order_duids (List[str]):
38
+ property_width_map (Any):
39
+ updated_by_client_duid (Union[None, Unset, str]):
40
+ """
41
+
42
+ duid: str
43
+ kind: ViewKind
44
+ accessible_by_team: bool
45
+ accessible_by_user_duids: List[str]
46
+ public: bool
47
+ order: str
48
+ title: str
49
+ description: str
50
+ icon_kind: IconKind
51
+ icon_name_or_emoji: str
52
+ color_hex: str
53
+ layout_duid: str
54
+ favorited_by_user_duids: List[str]
55
+ always_shown_property_duids: List[str]
56
+ always_hidden_property_duids: List[str]
57
+ property_order_duids: List[str]
58
+ property_width_map: Any
59
+ updated_by_client_duid: Union[None, Unset, str] = UNSET
60
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ duid = self.duid
64
+
65
+ kind = self.kind.value
66
+
67
+ accessible_by_team = self.accessible_by_team
68
+
69
+ accessible_by_user_duids = self.accessible_by_user_duids
70
+
71
+ public = self.public
72
+
73
+ order = self.order
74
+
75
+ title = self.title
76
+
77
+ description = self.description
78
+
79
+ icon_kind = self.icon_kind.value
80
+
81
+ icon_name_or_emoji = self.icon_name_or_emoji
82
+
83
+ color_hex = self.color_hex
84
+
85
+ layout_duid = self.layout_duid
86
+
87
+ favorited_by_user_duids = self.favorited_by_user_duids
88
+
89
+ always_shown_property_duids = self.always_shown_property_duids
90
+
91
+ always_hidden_property_duids = self.always_hidden_property_duids
92
+
93
+ property_order_duids = self.property_order_duids
94
+
95
+ property_width_map = self.property_width_map
96
+
97
+ updated_by_client_duid: Union[None, Unset, str]
98
+ if isinstance(self.updated_by_client_duid, Unset):
99
+ updated_by_client_duid = UNSET
100
+ else:
101
+ updated_by_client_duid = self.updated_by_client_duid
102
+
103
+ field_dict: Dict[str, Any] = {}
104
+ field_dict.update(self.additional_properties)
105
+ field_dict.update(
106
+ {
107
+ "duid": duid,
108
+ "kind": kind,
109
+ "accessibleByTeam": accessible_by_team,
110
+ "accessibleByUserDuids": accessible_by_user_duids,
111
+ "public": public,
112
+ "order": order,
113
+ "title": title,
114
+ "description": description,
115
+ "iconKind": icon_kind,
116
+ "iconNameOrEmoji": icon_name_or_emoji,
117
+ "colorHex": color_hex,
118
+ "layoutDuid": layout_duid,
119
+ "favoritedByUserDuids": favorited_by_user_duids,
120
+ "alwaysShownPropertyDuids": always_shown_property_duids,
121
+ "alwaysHiddenPropertyDuids": always_hidden_property_duids,
122
+ "propertyOrderDuids": property_order_duids,
123
+ "propertyWidthMap": property_width_map,
124
+ }
125
+ )
126
+ if updated_by_client_duid is not UNSET:
127
+ field_dict["updatedByClientDuid"] = updated_by_client_duid
128
+
129
+ return field_dict
130
+
131
+ @classmethod
132
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
133
+ d = src_dict.copy()
134
+ duid = d.pop("duid")
135
+
136
+ kind = ViewKind(d.pop("kind"))
137
+
138
+ accessible_by_team = d.pop("accessibleByTeam")
139
+
140
+ accessible_by_user_duids = cast(List[str], d.pop("accessibleByUserDuids"))
141
+
142
+ public = d.pop("public")
143
+
144
+ order = d.pop("order")
145
+
146
+ title = d.pop("title")
147
+
148
+ description = d.pop("description")
149
+
150
+ icon_kind = IconKind(d.pop("iconKind"))
151
+
152
+ icon_name_or_emoji = d.pop("iconNameOrEmoji")
153
+
154
+ color_hex = d.pop("colorHex")
155
+
156
+ layout_duid = d.pop("layoutDuid")
157
+
158
+ favorited_by_user_duids = cast(List[str], d.pop("favoritedByUserDuids"))
159
+
160
+ always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids"))
161
+
162
+ always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids"))
163
+
164
+ property_order_duids = cast(List[str], d.pop("propertyOrderDuids"))
165
+
166
+ property_width_map = d.pop("propertyWidthMap")
167
+
168
+ def _parse_updated_by_client_duid(data: object) -> Union[None, Unset, str]:
169
+ if data is None:
170
+ return data
171
+ if isinstance(data, Unset):
172
+ return data
173
+ return cast(Union[None, Unset, str], data)
174
+
175
+ updated_by_client_duid = _parse_updated_by_client_duid(d.pop("updatedByClientDuid", UNSET))
176
+
177
+ view = cls(
178
+ duid=duid,
179
+ kind=kind,
180
+ accessible_by_team=accessible_by_team,
181
+ accessible_by_user_duids=accessible_by_user_duids,
182
+ public=public,
183
+ order=order,
184
+ title=title,
185
+ description=description,
186
+ icon_kind=icon_kind,
187
+ icon_name_or_emoji=icon_name_or_emoji,
188
+ color_hex=color_hex,
189
+ layout_duid=layout_duid,
190
+ favorited_by_user_duids=favorited_by_user_duids,
191
+ always_shown_property_duids=always_shown_property_duids,
192
+ always_hidden_property_duids=always_hidden_property_duids,
193
+ property_order_duids=property_order_duids,
194
+ property_width_map=property_width_map,
195
+ updated_by_client_duid=updated_by_client_duid,
196
+ )
197
+
198
+ view.additional_properties = d
199
+ return view
200
+
201
+ @property
202
+ def additional_keys(self) -> List[str]:
203
+ return list(self.additional_properties.keys())
204
+
205
+ def __getitem__(self, key: str) -> Any:
206
+ return self.additional_properties[key]
207
+
208
+ def __setitem__(self, key: str, value: Any) -> None:
209
+ self.additional_properties[key] = value
210
+
211
+ def __delitem__(self, key: str) -> None:
212
+ del self.additional_properties[key]
213
+
214
+ def __contains__(self, key: str) -> bool:
215
+ return key in self.additional_properties