dart-tools 0.5.5__tar.gz → 0.5.6__tar.gz

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 (186) hide show
  1. {dart-tools-0.5.5 → dart_tools-0.5.6}/PKG-INFO +1 -1
  2. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/dart.py +22 -15
  3. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/__init__.py +2 -0
  4. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/dartboard.py +17 -1
  5. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/dartboard_create.py +23 -1
  6. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/dartboard_update.py +23 -1
  7. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/doc_create.py +24 -14
  8. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/doc_update.py +8 -0
  9. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_create.py +32 -21
  10. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_update.py +8 -0
  11. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/tenant.py +15 -0
  12. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/view.py +16 -0
  13. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/view_create.py +22 -0
  14. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/view_update.py +22 -0
  15. dart_tools-0.5.6/dart/generated/models/zapier_integration.py +65 -0
  16. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/PKG-INFO +1 -1
  17. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/SOURCES.txt +1 -0
  18. {dart-tools-0.5.5 → dart_tools-0.5.6}/pyproject.toml +1 -1
  19. {dart-tools-0.5.5 → dart_tools-0.5.6}/LICENSE +0 -0
  20. {dart-tools-0.5.5 → dart_tools-0.5.6}/README.md +0 -0
  21. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/__init__.py +0 -0
  22. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/exception.py +0 -0
  23. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/__init__.py +0 -0
  24. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/api/__init__.py +0 -0
  25. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/api/transactions/__init__.py +0 -0
  26. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/api/transactions/transactions_create.py +0 -0
  27. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/client.py +0 -0
  28. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/errors.py +0 -0
  29. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/attachment.py +0 -0
  30. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/attachment_create.py +0 -0
  31. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/attachment_update.py +0 -0
  32. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/batch.py +0 -0
  33. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/brainstorm.py +0 -0
  34. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/brainstorm_create.py +0 -0
  35. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/brainstorm_state.py +0 -0
  36. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/brainstorm_update.py +0 -0
  37. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/color_name.py +0 -0
  38. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment.py +0 -0
  39. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment_create.py +0 -0
  40. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment_reaction.py +0 -0
  41. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment_reaction_create.py +0 -0
  42. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment_reaction_update.py +0 -0
  43. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/comment_update.py +0 -0
  44. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/dartboard_kind.py +0 -0
  45. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/dartboards_list_kind.py +0 -0
  46. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/discord_integration.py +0 -0
  47. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/doc.py +0 -0
  48. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/doc_source_type.py +0 -0
  49. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/entity_name.py +0 -0
  50. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event.py +0 -0
  51. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event_actor.py +0 -0
  52. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event_create.py +0 -0
  53. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event_kind.py +0 -0
  54. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event_subscription.py +0 -0
  55. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/event_subscription_update.py +0 -0
  56. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_applicability.py +0 -0
  57. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_assignee.py +0 -0
  58. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_connector.py +0 -0
  59. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_group.py +0 -0
  60. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_search.py +0 -0
  61. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/filter_set.py +0 -0
  62. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/folder.py +0 -0
  63. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/folder_create.py +0 -0
  64. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/folder_kind.py +0 -0
  65. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/folder_update.py +0 -0
  66. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/folders_list_kind.py +0 -0
  67. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form.py +0 -0
  68. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form_create.py +0 -0
  69. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form_field.py +0 -0
  70. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form_field_create.py +0 -0
  71. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form_field_update.py +0 -0
  72. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/form_update.py +0 -0
  73. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/github_integration.py +0 -0
  74. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/github_integration_tenant_extension_status.py +0 -0
  75. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/google_data.py +0 -0
  76. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/icon_kind.py +0 -0
  77. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout.py +0 -0
  78. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout_config.py +0 -0
  79. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout_create.py +0 -0
  80. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout_kind.py +0 -0
  81. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout_kind_config_map.py +0 -0
  82. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/layout_update.py +0 -0
  83. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/models_response.py +0 -0
  84. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/notification.py +0 -0
  85. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/notification_update.py +0 -0
  86. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/notion_integration.py +0 -0
  87. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/notion_integration_tenant_extension_status.py +0 -0
  88. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/operation.py +0 -0
  89. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/operation_kind.py +0 -0
  90. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/operation_model_kind.py +0 -0
  91. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/option.py +0 -0
  92. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/option_create.py +0 -0
  93. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/option_update.py +0 -0
  94. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_attachment_list.py +0 -0
  95. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_comment_list.py +0 -0
  96. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_comment_reaction_list.py +0 -0
  97. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_dartboard_list.py +0 -0
  98. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_doc_list.py +0 -0
  99. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_folder_list.py +0 -0
  100. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_form_field_list.py +0 -0
  101. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_form_list.py +0 -0
  102. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_layout_list.py +0 -0
  103. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_option_list.py +0 -0
  104. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_property_list.py +0 -0
  105. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_relationship_kind_list.py +0 -0
  106. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_relationship_list.py +0 -0
  107. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_space_list.py +0 -0
  108. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_status_list.py +0 -0
  109. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_task_doc_relationship_list.py +0 -0
  110. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_task_link_list.py +0 -0
  111. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_task_list.py +0 -0
  112. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_tenant_list.py +0 -0
  113. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_user_dartboard_layout_list.py +0 -0
  114. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_user_list.py +0 -0
  115. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/paginated_view_list.py +0 -0
  116. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/priority.py +0 -0
  117. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/properties_list_kind.py +0 -0
  118. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/property_.py +0 -0
  119. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/property_create.py +0 -0
  120. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/property_kind.py +0 -0
  121. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/property_update.py +0 -0
  122. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/recommendation_status.py +0 -0
  123. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship.py +0 -0
  124. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship_create.py +0 -0
  125. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship_kind.py +0 -0
  126. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship_kind_create.py +0 -0
  127. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship_kind_kind.py +0 -0
  128. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/relationship_kind_update.py +0 -0
  129. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/report_kind.py +0 -0
  130. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/request_body.py +0 -0
  131. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/response_body.py +0 -0
  132. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/slack_integration.py +0 -0
  133. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/slack_integration_tenant_extension_status.py +0 -0
  134. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/sort.py +0 -0
  135. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/space.py +0 -0
  136. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/space_create.py +0 -0
  137. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/space_kind.py +0 -0
  138. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/space_update.py +0 -0
  139. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/sprint_mode.py +0 -0
  140. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/status.py +0 -0
  141. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/status_create.py +0 -0
  142. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/status_kind.py +0 -0
  143. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/status_update.py +0 -0
  144. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/statuses_list_kind.py +0 -0
  145. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/subscription.py +0 -0
  146. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/subtask_display_mode.py +0 -0
  147. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/summary_statistic_kind.py +0 -0
  148. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task.py +0 -0
  149. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_doc_relationship.py +0 -0
  150. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_doc_relationship_create.py +0 -0
  151. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_link.py +0 -0
  152. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_link_create.py +0 -0
  153. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_link_kind.py +0 -0
  154. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_link_update.py +0 -0
  155. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_notion_document.py +0 -0
  156. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_notion_document_block_children_map.py +0 -0
  157. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_notion_document_block_map.py +0 -0
  158. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_notion_document_page_map.py +0 -0
  159. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_properties.py +0 -0
  160. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/task_source_type.py +0 -0
  161. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/tenant_update.py +0 -0
  162. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/theme.py +0 -0
  163. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/transaction.py +0 -0
  164. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/transaction_kind.py +0 -0
  165. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/transaction_response.py +0 -0
  166. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user.py +0 -0
  167. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_dartboard_layout.py +0 -0
  168. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_dartboard_layout_create.py +0 -0
  169. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_data_entity_retrieve_entity_kind.py +0 -0
  170. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_role.py +0 -0
  171. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_status.py +0 -0
  172. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/user_update.py +0 -0
  173. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/validation_error_response.py +0 -0
  174. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/validation_error_response_items.py +0 -0
  175. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/view_kind.py +0 -0
  176. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/models/yc_integration.py +0 -0
  177. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/py.typed +0 -0
  178. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/generated/types.py +0 -0
  179. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/order_manager.py +0 -0
  180. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart/webhook.py +0 -0
  181. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/dependency_links.txt +0 -0
  182. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  183. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/entry_points.txt +0 -0
  184. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/requires.txt +0 -0
  185. {dart-tools-0.5.5 → dart_tools-0.5.6}/dart_tools.egg-info/top_level.txt +0 -0
  186. {dart-tools-0.5.5 → dart_tools-0.5.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dart-tools
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: The Dart CLI and Python Library
5
5
  Author-email: Dart Software Team <software@itsdart.com>
6
6
  License: MIT License
@@ -79,6 +79,8 @@ _AUTH_TOKEN_KEY = "authToken"
79
79
  _CSRF_TOKEN_KEY = "csrfToken"
80
80
 
81
81
  _DUID_CHARS = string.ascii_lowercase + string.ascii_uppercase + string.digits
82
+ _NON_ALPHANUM_RE = re.compile(r"[^a-zA-Z0-9-]+")
83
+ _REPEATED_DASH_RE = re.compile(r"-{2,}")
82
84
  _PRIORITY_MAP = {
83
85
  0: Priority.CRITICAL,
84
86
  1: Priority.HIGH,
@@ -99,6 +101,23 @@ def _make_duid():
99
101
  return "".join(random.choices(_DUID_CHARS, k=12))
100
102
 
101
103
 
104
+ def trim_slug_str(s: str, length: int, max_under: int | None = None):
105
+ max_under = max_under if max_under is not None else length // 6
106
+ if len(s) <= length:
107
+ return s
108
+ for i in range(1, max_under + 1):
109
+ if s[length - i] == "-":
110
+ return s[: length - i]
111
+ return s[:length]
112
+
113
+
114
+ def slugify_str(s: str, lower=False, trim_kwargs=None):
115
+ lowered = s.lower() if lower else s
116
+ formatted = _NON_ALPHANUM_RE.sub("-", lowered.replace("'", ""))
117
+ formatted = _REPEATED_DASH_RE.sub("-", formatted).strip("-")
118
+ return trim_slug_str(formatted, **trim_kwargs) if trim_kwargs is not None else formatted
119
+
120
+
102
121
  def _run_cmd(cmd):
103
122
  return subprocess.check_output(cmd, shell=True).decode()
104
123
 
@@ -337,23 +356,11 @@ class _Git:
337
356
  raise ex
338
357
  return True
339
358
 
340
- @staticmethod
341
- def _format_for_branch(s):
342
- return re.sub(
343
- r"-{2,}", "-", re.sub(r"[^a-z0-9-]+", "-", s.lower().replace("'", ""))
344
- ).strip("-")
345
-
346
359
  @staticmethod
347
360
  def make_task_name(email, task):
348
- username = _Git._format_for_branch(email.split("@")[0])
349
- title = _Git._format_for_branch(task.title)
350
- long = f"{username}/{task.duid}-{title}"
351
- if len(long) <= 60:
352
- return long
353
- for i in range(1, 11):
354
- if long[60 - i] == "-":
355
- return long[: 60 - i]
356
- return long[:60]
361
+ username = slugify_str(email.split("@")[0], lower=True)
362
+ title = slugify_str(task.title, lower=True)
363
+ return trim_slug_str(f"{username}/{task.duid}-{title}", length=60)
357
364
 
358
365
  @staticmethod
359
366
  def get_current_branch():
@@ -159,6 +159,7 @@ from .view_create import ViewCreate
159
159
  from .view_kind import ViewKind
160
160
  from .view_update import ViewUpdate
161
161
  from .yc_integration import YcIntegration
162
+ from .zapier_integration import ZapierIntegration
162
163
 
163
164
  __all__ = (
164
165
  "Attachment",
@@ -320,4 +321,5 @@ __all__ = (
320
321
  "ViewKind",
321
322
  "ViewUpdate",
322
323
  "YcIntegration",
324
+ "ZapierIntegration",
323
325
  )
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, TypeVar, Union
2
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -61,6 +61,8 @@ class Dartboard:
61
61
  * `Light Brown` - LIGHT_BROWN
62
62
  * `Light Gray` - LIGHT_GRAY
63
63
  user_duids_to_layout_duids (List['UserDartboardLayout']):
64
+ always_shown_property_duids (List[str]):
65
+ always_hidden_property_duids (List[str]):
64
66
  updated_by_client_duid (Union[Unset, None, str]):
65
67
  index (Optional[int]):
66
68
  started_at (Optional[datetime.datetime]):
@@ -77,6 +79,8 @@ class Dartboard:
77
79
  icon_name_or_emoji: str
78
80
  color_name: ColorName
79
81
  user_duids_to_layout_duids: List["UserDartboardLayout"]
82
+ always_shown_property_duids: List[str]
83
+ always_hidden_property_duids: List[str]
80
84
  index: Optional[int]
81
85
  started_at: Optional[datetime.datetime]
82
86
  finished_at: Optional[datetime.datetime]
@@ -102,6 +106,10 @@ class Dartboard:
102
106
 
103
107
  user_duids_to_layout_duids.append(user_duids_to_layout_duids_item)
104
108
 
109
+ always_shown_property_duids = self.always_shown_property_duids
110
+
111
+ always_hidden_property_duids = self.always_hidden_property_duids
112
+
105
113
  updated_by_client_duid = self.updated_by_client_duid
106
114
  index = self.index
107
115
  started_at = self.started_at.isoformat() if self.started_at else None
@@ -122,6 +130,8 @@ class Dartboard:
122
130
  "iconNameOrEmoji": icon_name_or_emoji,
123
131
  "colorName": color_name,
124
132
  "userDuidsToLayoutDuids": user_duids_to_layout_duids,
133
+ "alwaysShownPropertyDuids": always_shown_property_duids,
134
+ "alwaysHiddenPropertyDuids": always_hidden_property_duids,
125
135
  "index": index,
126
136
  "startedAt": started_at,
127
137
  "finishedAt": finished_at,
@@ -162,6 +172,10 @@ class Dartboard:
162
172
 
163
173
  user_duids_to_layout_duids.append(user_duids_to_layout_duids_item)
164
174
 
175
+ always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids"))
176
+
177
+ always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids"))
178
+
165
179
  updated_by_client_duid = d.pop("updatedByClientDuid", UNSET)
166
180
 
167
181
  index = d.pop("index")
@@ -191,6 +205,8 @@ class Dartboard:
191
205
  icon_name_or_emoji=icon_name_or_emoji,
192
206
  color_name=color_name,
193
207
  user_duids_to_layout_duids=user_duids_to_layout_duids,
208
+ always_shown_property_duids=always_shown_property_duids,
209
+ always_hidden_property_duids=always_hidden_property_duids,
194
210
  updated_by_client_duid=updated_by_client_duid,
195
211
  index=index,
196
212
  started_at=started_at,
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import Any, Dict, List, Type, TypeVar, Union
2
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -59,6 +59,8 @@ class DartboardCreate:
59
59
  index (Union[Unset, None, int]):
60
60
  started_at (Union[Unset, None, datetime.datetime]):
61
61
  finished_at (Union[Unset, None, datetime.datetime]):
62
+ always_shown_property_duids (Union[Unset, List[str]]):
63
+ always_hidden_property_duids (Union[Unset, List[str]]):
62
64
  """
63
65
 
64
66
  duid: str
@@ -73,6 +75,8 @@ class DartboardCreate:
73
75
  index: Union[Unset, None, int] = UNSET
74
76
  started_at: Union[Unset, None, datetime.datetime] = UNSET
75
77
  finished_at: Union[Unset, None, datetime.datetime] = UNSET
78
+ always_shown_property_duids: Union[Unset, List[str]] = UNSET
79
+ always_hidden_property_duids: Union[Unset, List[str]] = UNSET
76
80
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
77
81
 
78
82
  def to_dict(self) -> Dict[str, Any]:
@@ -103,6 +107,14 @@ class DartboardCreate:
103
107
  if not isinstance(self.finished_at, Unset):
104
108
  finished_at = self.finished_at.isoformat() if self.finished_at else None
105
109
 
110
+ always_shown_property_duids: Union[Unset, List[str]] = UNSET
111
+ if not isinstance(self.always_shown_property_duids, Unset):
112
+ always_shown_property_duids = self.always_shown_property_duids
113
+
114
+ always_hidden_property_duids: Union[Unset, List[str]] = UNSET
115
+ if not isinstance(self.always_hidden_property_duids, Unset):
116
+ always_hidden_property_duids = self.always_hidden_property_duids
117
+
106
118
  field_dict: Dict[str, Any] = {}
107
119
  field_dict.update(self.additional_properties)
108
120
  field_dict.update(
@@ -130,6 +142,10 @@ class DartboardCreate:
130
142
  field_dict["startedAt"] = started_at
131
143
  if finished_at is not UNSET:
132
144
  field_dict["finishedAt"] = finished_at
145
+ if always_shown_property_duids is not UNSET:
146
+ field_dict["alwaysShownPropertyDuids"] = always_shown_property_duids
147
+ if always_hidden_property_duids is not UNSET:
148
+ field_dict["alwaysHiddenPropertyDuids"] = always_hidden_property_duids
133
149
 
134
150
  return field_dict
135
151
 
@@ -189,6 +205,10 @@ class DartboardCreate:
189
205
  else:
190
206
  finished_at = isoparse(_finished_at)
191
207
 
208
+ always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids", UNSET))
209
+
210
+ always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids", UNSET))
211
+
192
212
  dartboard_create = cls(
193
213
  duid=duid,
194
214
  space_duid=space_duid,
@@ -202,6 +222,8 @@ class DartboardCreate:
202
222
  index=index,
203
223
  started_at=started_at,
204
224
  finished_at=finished_at,
225
+ always_shown_property_duids=always_shown_property_duids,
226
+ always_hidden_property_duids=always_hidden_property_duids,
205
227
  )
206
228
 
207
229
  dartboard_create.additional_properties = d
@@ -1,5 +1,5 @@
1
1
  import datetime
2
- from typing import Any, Dict, List, Type, TypeVar, Union
2
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -59,6 +59,8 @@ class DartboardUpdate:
59
59
  index (Union[Unset, None, int]):
60
60
  started_at (Union[Unset, None, datetime.datetime]):
61
61
  finished_at (Union[Unset, None, datetime.datetime]):
62
+ always_shown_property_duids (Union[Unset, List[str]]):
63
+ always_hidden_property_duids (Union[Unset, List[str]]):
62
64
  """
63
65
 
64
66
  duid: str
@@ -73,6 +75,8 @@ class DartboardUpdate:
73
75
  index: Union[Unset, None, int] = UNSET
74
76
  started_at: Union[Unset, None, datetime.datetime] = UNSET
75
77
  finished_at: Union[Unset, None, datetime.datetime] = UNSET
78
+ always_shown_property_duids: Union[Unset, List[str]] = UNSET
79
+ always_hidden_property_duids: Union[Unset, List[str]] = UNSET
76
80
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
77
81
 
78
82
  def to_dict(self) -> Dict[str, Any]:
@@ -103,6 +107,14 @@ class DartboardUpdate:
103
107
  if not isinstance(self.finished_at, Unset):
104
108
  finished_at = self.finished_at.isoformat() if self.finished_at else None
105
109
 
110
+ always_shown_property_duids: Union[Unset, List[str]] = UNSET
111
+ if not isinstance(self.always_shown_property_duids, Unset):
112
+ always_shown_property_duids = self.always_shown_property_duids
113
+
114
+ always_hidden_property_duids: Union[Unset, List[str]] = UNSET
115
+ if not isinstance(self.always_hidden_property_duids, Unset):
116
+ always_hidden_property_duids = self.always_hidden_property_duids
117
+
106
118
  field_dict: Dict[str, Any] = {}
107
119
  field_dict.update(self.additional_properties)
108
120
  field_dict.update(
@@ -132,6 +144,10 @@ class DartboardUpdate:
132
144
  field_dict["startedAt"] = started_at
133
145
  if finished_at is not UNSET:
134
146
  field_dict["finishedAt"] = finished_at
147
+ if always_shown_property_duids is not UNSET:
148
+ field_dict["alwaysShownPropertyDuids"] = always_shown_property_duids
149
+ if always_hidden_property_duids is not UNSET:
150
+ field_dict["alwaysHiddenPropertyDuids"] = always_hidden_property_duids
135
151
 
136
152
  return field_dict
137
153
 
@@ -191,6 +207,10 @@ class DartboardUpdate:
191
207
  else:
192
208
  finished_at = isoparse(_finished_at)
193
209
 
210
+ always_shown_property_duids = cast(List[str], d.pop("alwaysShownPropertyDuids", UNSET))
211
+
212
+ always_hidden_property_duids = cast(List[str], d.pop("alwaysHiddenPropertyDuids", UNSET))
213
+
194
214
  dartboard_update = cls(
195
215
  duid=duid,
196
216
  space_duid=space_duid,
@@ -204,6 +224,8 @@ class DartboardUpdate:
204
224
  index=index,
205
225
  started_at=started_at,
206
226
  finished_at=finished_at,
227
+ always_shown_property_duids=always_shown_property_duids,
228
+ always_hidden_property_duids=always_hidden_property_duids,
207
229
  )
208
230
 
209
231
  dartboard_update.additional_properties = d
@@ -17,8 +17,6 @@ class DocCreate:
17
17
  """
18
18
  Attributes:
19
19
  duid (str):
20
- folder_duid (str):
21
- order (str):
22
20
  source_user (Union[Unset, None, str]):
23
21
  source_type (Union[Unset, DocSourceType]): * `Unknown` - UNKNOWN
24
22
  * `Onboarding` - ONBOARDING
@@ -28,10 +26,13 @@ class DocCreate:
28
26
  * `Application` - APPLICATION Default: DocSourceType.UNKNOWN.
29
27
  drafter_duid (Union[Unset, None, str]):
30
28
  in_trash (Union[Unset, bool]):
29
+ folder_duid (Union[Unset, str]):
31
30
  report_kind (Union[Unset, None, ReportKind]): * `Standup` - STANDUP
32
31
  * `Changelog` - CHANGELOG
32
+ order (Union[Unset, str]):
33
33
  title (Union[Unset, str]):
34
34
  text (Union[Unset, Any]):
35
+ text_markdown (Union[Unset, str]):
35
36
  edited_by_ai (Union[Unset, bool]):
36
37
  recommendation_duid (Union[Unset, None, str]):
37
38
  editor_duids (Union[Unset, List[str]]):
@@ -67,15 +68,16 @@ class DocCreate:
67
68
  """
68
69
 
69
70
  duid: str
70
- folder_duid: str
71
- order: str
72
71
  source_user: Union[Unset, None, str] = UNSET
73
72
  source_type: Union[Unset, DocSourceType] = DocSourceType.UNKNOWN
74
73
  drafter_duid: Union[Unset, None, str] = UNSET
75
74
  in_trash: Union[Unset, bool] = UNSET
75
+ folder_duid: Union[Unset, str] = UNSET
76
76
  report_kind: Union[Unset, None, ReportKind] = UNSET
77
+ order: Union[Unset, str] = UNSET
77
78
  title: Union[Unset, str] = UNSET
78
79
  text: Union[Unset, Any] = UNSET
80
+ text_markdown: Union[Unset, str] = UNSET
79
81
  edited_by_ai: Union[Unset, bool] = UNSET
80
82
  recommendation_duid: Union[Unset, None, str] = UNSET
81
83
  editor_duids: Union[Unset, List[str]] = UNSET
@@ -87,8 +89,6 @@ class DocCreate:
87
89
 
88
90
  def to_dict(self) -> Dict[str, Any]:
89
91
  duid = self.duid
90
- folder_duid = self.folder_duid
91
- order = self.order
92
92
  source_user = self.source_user
93
93
  source_type: Union[Unset, str] = UNSET
94
94
  if not isinstance(self.source_type, Unset):
@@ -96,12 +96,15 @@ class DocCreate:
96
96
 
97
97
  drafter_duid = self.drafter_duid
98
98
  in_trash = self.in_trash
99
+ folder_duid = self.folder_duid
99
100
  report_kind: Union[Unset, None, str] = UNSET
100
101
  if not isinstance(self.report_kind, Unset):
101
102
  report_kind = self.report_kind.value if self.report_kind else None
102
103
 
104
+ order = self.order
103
105
  title = self.title
104
106
  text = self.text
107
+ text_markdown = self.text_markdown
105
108
  edited_by_ai = self.edited_by_ai
106
109
  recommendation_duid = self.recommendation_duid
107
110
  editor_duids: Union[Unset, List[str]] = UNSET
@@ -126,8 +129,6 @@ class DocCreate:
126
129
  field_dict.update(
127
130
  {
128
131
  "duid": duid,
129
- "folderDuid": folder_duid,
130
- "order": order,
131
132
  }
132
133
  )
133
134
  if source_user is not UNSET:
@@ -138,12 +139,18 @@ class DocCreate:
138
139
  field_dict["drafterDuid"] = drafter_duid
139
140
  if in_trash is not UNSET:
140
141
  field_dict["inTrash"] = in_trash
142
+ if folder_duid is not UNSET:
143
+ field_dict["folderDuid"] = folder_duid
141
144
  if report_kind is not UNSET:
142
145
  field_dict["reportKind"] = report_kind
146
+ if order is not UNSET:
147
+ field_dict["order"] = order
143
148
  if title is not UNSET:
144
149
  field_dict["title"] = title
145
150
  if text is not UNSET:
146
151
  field_dict["text"] = text
152
+ if text_markdown is not UNSET:
153
+ field_dict["textMarkdown"] = text_markdown
147
154
  if edited_by_ai is not UNSET:
148
155
  field_dict["editedByAi"] = edited_by_ai
149
156
  if recommendation_duid is not UNSET:
@@ -166,10 +173,6 @@ class DocCreate:
166
173
  d = src_dict.copy()
167
174
  duid = d.pop("duid")
168
175
 
169
- folder_duid = d.pop("folderDuid")
170
-
171
- order = d.pop("order")
172
-
173
176
  source_user = d.pop("sourceUser", UNSET)
174
177
 
175
178
  _source_type = d.pop("sourceType", UNSET)
@@ -183,6 +186,8 @@ class DocCreate:
183
186
 
184
187
  in_trash = d.pop("inTrash", UNSET)
185
188
 
189
+ folder_duid = d.pop("folderDuid", UNSET)
190
+
186
191
  _report_kind = d.pop("reportKind", UNSET)
187
192
  report_kind: Union[Unset, None, ReportKind]
188
193
  if _report_kind is None:
@@ -192,10 +197,14 @@ class DocCreate:
192
197
  else:
193
198
  report_kind = ReportKind(_report_kind)
194
199
 
200
+ order = d.pop("order", UNSET)
201
+
195
202
  title = d.pop("title", UNSET)
196
203
 
197
204
  text = d.pop("text", UNSET)
198
205
 
206
+ text_markdown = d.pop("textMarkdown", UNSET)
207
+
199
208
  edited_by_ai = d.pop("editedByAi", UNSET)
200
209
 
201
210
  recommendation_duid = d.pop("recommendationDuid", UNSET)
@@ -222,15 +231,16 @@ class DocCreate:
222
231
 
223
232
  doc_create = cls(
224
233
  duid=duid,
225
- folder_duid=folder_duid,
226
- order=order,
227
234
  source_user=source_user,
228
235
  source_type=source_type,
229
236
  drafter_duid=drafter_duid,
230
237
  in_trash=in_trash,
238
+ folder_duid=folder_duid,
231
239
  report_kind=report_kind,
240
+ order=order,
232
241
  title=title,
233
242
  text=text,
243
+ text_markdown=text_markdown,
234
244
  edited_by_ai=edited_by_ai,
235
245
  recommendation_duid=recommendation_duid,
236
246
  editor_duids=editor_duids,
@@ -32,6 +32,7 @@ class DocUpdate:
32
32
  order (Union[Unset, str]):
33
33
  title (Union[Unset, str]):
34
34
  text (Union[Unset, Any]):
35
+ text_markdown (Union[Unset, str]):
35
36
  edited_by_ai (Union[Unset, bool]):
36
37
  recommendation_duid (Union[Unset, None, str]):
37
38
  editor_duids (Union[Unset, List[str]]):
@@ -76,6 +77,7 @@ class DocUpdate:
76
77
  order: Union[Unset, str] = UNSET
77
78
  title: Union[Unset, str] = UNSET
78
79
  text: Union[Unset, Any] = UNSET
80
+ text_markdown: Union[Unset, str] = UNSET
79
81
  edited_by_ai: Union[Unset, bool] = UNSET
80
82
  recommendation_duid: Union[Unset, None, str] = UNSET
81
83
  editor_duids: Union[Unset, List[str]] = UNSET
@@ -102,6 +104,7 @@ class DocUpdate:
102
104
  order = self.order
103
105
  title = self.title
104
106
  text = self.text
107
+ text_markdown = self.text_markdown
105
108
  edited_by_ai = self.edited_by_ai
106
109
  recommendation_duid = self.recommendation_duid
107
110
  editor_duids: Union[Unset, List[str]] = UNSET
@@ -146,6 +149,8 @@ class DocUpdate:
146
149
  field_dict["title"] = title
147
150
  if text is not UNSET:
148
151
  field_dict["text"] = text
152
+ if text_markdown is not UNSET:
153
+ field_dict["textMarkdown"] = text_markdown
149
154
  if edited_by_ai is not UNSET:
150
155
  field_dict["editedByAi"] = edited_by_ai
151
156
  if recommendation_duid is not UNSET:
@@ -198,6 +203,8 @@ class DocUpdate:
198
203
 
199
204
  text = d.pop("text", UNSET)
200
205
 
206
+ text_markdown = d.pop("textMarkdown", UNSET)
207
+
201
208
  edited_by_ai = d.pop("editedByAi", UNSET)
202
209
 
203
210
  recommendation_duid = d.pop("recommendationDuid", UNSET)
@@ -233,6 +240,7 @@ class DocUpdate:
233
240
  order=order,
234
241
  title=title,
235
242
  text=text,
243
+ text_markdown=text_markdown,
236
244
  edited_by_ai=edited_by_ai,
237
245
  recommendation_duid=recommendation_duid,
238
246
  editor_duids=editor_duids,
@@ -18,9 +18,6 @@ class TaskCreate:
18
18
  """
19
19
  Attributes:
20
20
  duid (str):
21
- dartboard_duid (str):
22
- order (str):
23
- status_duid (str):
24
21
  source_type (Union[Unset, TaskSourceType]): * `Unknown` - UNKNOWN
25
22
  * `Import` - IMPORT
26
23
  * `Onboarding` - ONBOARDING
@@ -52,8 +49,12 @@ class TaskCreate:
52
49
  in_trash (Union[Unset, bool]):
53
50
  recommendation_status (Union[Unset, None, RecommendationStatus]): * `Accepted` - ACCEPTED
54
51
  * `Declined` - DECLINED
52
+ dartboard_duid (Union[Unset, str]):
53
+ order (Union[Unset, str]):
55
54
  title (Union[Unset, str]):
56
55
  description (Union[Unset, Any]):
56
+ description_markdown (Union[Unset, str]):
57
+ status_duid (Union[Unset, str]):
57
58
  assigned_to_ai (Union[Unset, bool]):
58
59
  assignee_duids (Union[Unset, List[str]]):
59
60
  subscriber_duids (Union[Unset, List[str]]):
@@ -73,9 +74,6 @@ class TaskCreate:
73
74
  """
74
75
 
75
76
  duid: str
76
- dartboard_duid: str
77
- order: str
78
- status_duid: str
79
77
  source_type: Union[Unset, TaskSourceType] = TaskSourceType.UNKNOWN
80
78
  source_form_duid: Union[Unset, None, str] = UNSET
81
79
  created_by_duid: Union[Unset, None, str] = UNSET
@@ -83,8 +81,12 @@ class TaskCreate:
83
81
  drafter_duid: Union[Unset, None, str] = UNSET
84
82
  in_trash: Union[Unset, bool] = UNSET
85
83
  recommendation_status: Union[Unset, None, RecommendationStatus] = UNSET
84
+ dartboard_duid: Union[Unset, str] = UNSET
85
+ order: Union[Unset, str] = UNSET
86
86
  title: Union[Unset, str] = UNSET
87
87
  description: Union[Unset, Any] = UNSET
88
+ description_markdown: Union[Unset, str] = UNSET
89
+ status_duid: Union[Unset, str] = UNSET
88
90
  assigned_to_ai: Union[Unset, bool] = UNSET
89
91
  assignee_duids: Union[Unset, List[str]] = UNSET
90
92
  subscriber_duids: Union[Unset, List[str]] = UNSET
@@ -102,9 +104,6 @@ class TaskCreate:
102
104
 
103
105
  def to_dict(self) -> Dict[str, Any]:
104
106
  duid = self.duid
105
- dartboard_duid = self.dartboard_duid
106
- order = self.order
107
- status_duid = self.status_duid
108
107
  source_type: Union[Unset, str] = UNSET
109
108
  if not isinstance(self.source_type, Unset):
110
109
  source_type = self.source_type.value
@@ -118,8 +117,12 @@ class TaskCreate:
118
117
  if not isinstance(self.recommendation_status, Unset):
119
118
  recommendation_status = self.recommendation_status.value if self.recommendation_status else None
120
119
 
120
+ dartboard_duid = self.dartboard_duid
121
+ order = self.order
121
122
  title = self.title
122
123
  description = self.description
124
+ description_markdown = self.description_markdown
125
+ status_duid = self.status_duid
123
126
  assigned_to_ai = self.assigned_to_ai
124
127
  assignee_duids: Union[Unset, List[str]] = UNSET
125
128
  if not isinstance(self.assignee_duids, Unset):
@@ -166,9 +169,6 @@ class TaskCreate:
166
169
  field_dict.update(
167
170
  {
168
171
  "duid": duid,
169
- "dartboardDuid": dartboard_duid,
170
- "order": order,
171
- "statusDuid": status_duid,
172
172
  }
173
173
  )
174
174
  if source_type is not UNSET:
@@ -185,10 +185,18 @@ class TaskCreate:
185
185
  field_dict["inTrash"] = in_trash
186
186
  if recommendation_status is not UNSET:
187
187
  field_dict["recommendationStatus"] = recommendation_status
188
+ if dartboard_duid is not UNSET:
189
+ field_dict["dartboardDuid"] = dartboard_duid
190
+ if order is not UNSET:
191
+ field_dict["order"] = order
188
192
  if title is not UNSET:
189
193
  field_dict["title"] = title
190
194
  if description is not UNSET:
191
195
  field_dict["description"] = description
196
+ if description_markdown is not UNSET:
197
+ field_dict["descriptionMarkdown"] = description_markdown
198
+ if status_duid is not UNSET:
199
+ field_dict["statusDuid"] = status_duid
192
200
  if assigned_to_ai is not UNSET:
193
201
  field_dict["assignedToAi"] = assigned_to_ai
194
202
  if assignee_duids is not UNSET:
@@ -223,12 +231,6 @@ class TaskCreate:
223
231
  d = src_dict.copy()
224
232
  duid = d.pop("duid")
225
233
 
226
- dartboard_duid = d.pop("dartboardDuid")
227
-
228
- order = d.pop("order")
229
-
230
- status_duid = d.pop("statusDuid")
231
-
232
234
  _source_type = d.pop("sourceType", UNSET)
233
235
  source_type: Union[Unset, TaskSourceType]
234
236
  if isinstance(_source_type, Unset):
@@ -255,10 +257,18 @@ class TaskCreate:
255
257
  else:
256
258
  recommendation_status = RecommendationStatus(_recommendation_status)
257
259
 
260
+ dartboard_duid = d.pop("dartboardDuid", UNSET)
261
+
262
+ order = d.pop("order", UNSET)
263
+
258
264
  title = d.pop("title", UNSET)
259
265
 
260
266
  description = d.pop("description", UNSET)
261
267
 
268
+ description_markdown = d.pop("descriptionMarkdown", UNSET)
269
+
270
+ status_duid = d.pop("statusDuid", UNSET)
271
+
262
272
  assigned_to_ai = d.pop("assignedToAi", UNSET)
263
273
 
264
274
  assignee_duids = cast(List[str], d.pop("assigneeDuids", UNSET))
@@ -322,9 +332,6 @@ class TaskCreate:
322
332
 
323
333
  task_create = cls(
324
334
  duid=duid,
325
- dartboard_duid=dartboard_duid,
326
- order=order,
327
- status_duid=status_duid,
328
335
  source_type=source_type,
329
336
  source_form_duid=source_form_duid,
330
337
  created_by_duid=created_by_duid,
@@ -332,8 +339,12 @@ class TaskCreate:
332
339
  drafter_duid=drafter_duid,
333
340
  in_trash=in_trash,
334
341
  recommendation_status=recommendation_status,
342
+ dartboard_duid=dartboard_duid,
343
+ order=order,
335
344
  title=title,
336
345
  description=description,
346
+ description_markdown=description_markdown,
347
+ status_duid=status_duid,
337
348
  assigned_to_ai=assigned_to_ai,
338
349
  assignee_duids=assignee_duids,
339
350
  subscriber_duids=subscriber_duids,
@@ -53,6 +53,7 @@ class TaskUpdate:
53
53
  order (Union[Unset, str]):
54
54
  title (Union[Unset, str]):
55
55
  description (Union[Unset, Any]):
56
+ description_markdown (Union[Unset, str]):
56
57
  status_duid (Union[Unset, str]):
57
58
  assigned_to_ai (Union[Unset, bool]):
58
59
  assignee_duids (Union[Unset, List[str]]):
@@ -84,6 +85,7 @@ class TaskUpdate:
84
85
  order: Union[Unset, str] = UNSET
85
86
  title: Union[Unset, str] = UNSET
86
87
  description: Union[Unset, Any] = UNSET
88
+ description_markdown: Union[Unset, str] = UNSET
87
89
  status_duid: Union[Unset, str] = UNSET
88
90
  assigned_to_ai: Union[Unset, bool] = UNSET
89
91
  assignee_duids: Union[Unset, List[str]] = UNSET
@@ -119,6 +121,7 @@ class TaskUpdate:
119
121
  order = self.order
120
122
  title = self.title
121
123
  description = self.description
124
+ description_markdown = self.description_markdown
122
125
  status_duid = self.status_duid
123
126
  assigned_to_ai = self.assigned_to_ai
124
127
  assignee_duids: Union[Unset, List[str]] = UNSET
@@ -190,6 +193,8 @@ class TaskUpdate:
190
193
  field_dict["title"] = title
191
194
  if description is not UNSET:
192
195
  field_dict["description"] = description
196
+ if description_markdown is not UNSET:
197
+ field_dict["descriptionMarkdown"] = description_markdown
193
198
  if status_duid is not UNSET:
194
199
  field_dict["statusDuid"] = status_duid
195
200
  if assigned_to_ai is not UNSET:
@@ -260,6 +265,8 @@ class TaskUpdate:
260
265
 
261
266
  description = d.pop("description", UNSET)
262
267
 
268
+ description_markdown = d.pop("descriptionMarkdown", UNSET)
269
+
263
270
  status_duid = d.pop("statusDuid", UNSET)
264
271
 
265
272
  assigned_to_ai = d.pop("assignedToAi", UNSET)
@@ -336,6 +343,7 @@ class TaskUpdate:
336
343
  order=order,
337
344
  title=title,
338
345
  description=description,
346
+ description_markdown=description_markdown,
339
347
  status_duid=status_duid,
340
348
  assigned_to_ai=assigned_to_ai,
341
349
  assignee_duids=assignee_duids,