holder-python 0.2.5__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.
- holder/__init__.py +21 -0
- holder/client.py +182 -0
- holder/collections.py +70 -0
- holder/events.py +238 -0
- holder/exceptions.py +35 -0
- holder/generated/__init__.py +8 -0
- holder/generated/api/__init__.py +1 -0
- holder/generated/api/default/__init__.py +1 -0
- holder/generated/api/default/delete_ai_messages_message_id.py +166 -0
- holder/generated/api/default/delete_ai_messages_message_id_links.py +205 -0
- holder/generated/api/default/delete_ai_providers_credentials_provider.py +168 -0
- holder/generated/api/default/delete_ai_threads_thread_id.py +166 -0
- holder/generated/api/default/delete_cards_card_id.py +225 -0
- holder/generated/api/default/delete_cards_card_id_links.py +205 -0
- holder/generated/api/default/delete_cards_card_id_milestones_milestone_id.py +175 -0
- holder/generated/api/default/delete_cards_card_id_resources.py +197 -0
- holder/generated/api/default/delete_cards_card_id_tags.py +197 -0
- holder/generated/api/default/delete_locations_location_id.py +105 -0
- holder/generated/api/default/delete_locations_location_id_binding.py +102 -0
- holder/generated/api/default/delete_projects_project_id.py +187 -0
- holder/generated/api/default/delete_resources_resource_id.py +161 -0
- holder/generated/api/default/delete_trash.py +181 -0
- holder/generated/api/default/delete_trash_type_id.py +175 -0
- holder/generated/api/default/get_ai_capabilities.py +166 -0
- holder/generated/api/default/get_ai_catalog_json.py +134 -0
- holder/generated/api/default/get_ai_catalog_yaml.py +132 -0
- holder/generated/api/default/get_ai_local_models_config.py +134 -0
- holder/generated/api/default/get_ai_messages.py +186 -0
- holder/generated/api/default/get_ai_messages_message_id.py +166 -0
- holder/generated/api/default/get_ai_messages_message_id_backlinks.py +194 -0
- holder/generated/api/default/get_ai_messages_message_id_links.py +194 -0
- holder/generated/api/default/get_ai_providers_catalog.py +139 -0
- holder/generated/api/default/get_ai_providers_credentials.py +136 -0
- holder/generated/api/default/get_ai_runner_pull_job_id.py +171 -0
- holder/generated/api/default/get_ai_runner_pull_job_id_events.py +218 -0
- holder/generated/api/default/get_ai_runs.py +186 -0
- holder/generated/api/default/get_ai_runs_run_id.py +166 -0
- holder/generated/api/default/get_ai_runs_run_id_events.py +213 -0
- holder/generated/api/default/get_ai_status.py +134 -0
- holder/generated/api/default/get_ai_threads.py +171 -0
- holder/generated/api/default/get_ai_threads_thread_id.py +166 -0
- holder/generated/api/default/get_calendar.py +221 -0
- holder/generated/api/default/get_cards.py +286 -0
- holder/generated/api/default/get_cards_card_id.py +166 -0
- holder/generated/api/default/get_cards_card_id_backlinks.py +194 -0
- holder/generated/api/default/get_cards_card_id_links.py +194 -0
- holder/generated/api/default/get_cards_card_id_milestones.py +173 -0
- holder/generated/api/default/get_cards_context.py +226 -0
- holder/generated/api/default/get_event_cursor.py +198 -0
- holder/generated/api/default/get_git_providers_json.py +134 -0
- holder/generated/api/default/get_git_providers_yaml.py +132 -0
- holder/generated/api/default/get_health.py +134 -0
- holder/generated/api/default/get_imports_job_id.py +159 -0
- holder/generated/api/default/get_locations.py +160 -0
- holder/generated/api/default/get_locations_location_id.py +157 -0
- holder/generated/api/default/get_openapi_yaml.py +132 -0
- holder/generated/api/default/get_ping.py +128 -0
- holder/generated/api/default/get_projects.py +261 -0
- holder/generated/api/default/get_projects_project_id.py +166 -0
- holder/generated/api/default/get_projects_project_id_cards.py +321 -0
- holder/generated/api/default/get_projects_project_id_encryption_check.py +166 -0
- holder/generated/api/default/get_projects_project_id_git_sync_status.py +171 -0
- holder/generated/api/default/get_projects_project_id_history.py +246 -0
- holder/generated/api/default/get_projects_project_id_history_cards_card_id.py +243 -0
- holder/generated/api/default/get_projects_project_id_history_cards_card_id_compare.py +286 -0
- holder/generated/api/default/get_projects_project_id_history_cards_card_id_snapshot.py +225 -0
- holder/generated/api/default/get_projects_project_id_tags.py +171 -0
- holder/generated/api/default/get_resources.py +242 -0
- holder/generated/api/default/get_resources_resource_id.py +161 -0
- holder/generated/api/default/get_resources_resource_id_assets_asset_id_content.py +247 -0
- holder/generated/api/default/get_search_ai.py +216 -0
- holder/generated/api/default/get_search_cards.py +216 -0
- holder/generated/api/default/get_trash.py +181 -0
- holder/generated/api/default/patch_ai_messages_message_id.py +192 -0
- holder/generated/api/default/patch_ai_threads_thread_id.py +192 -0
- holder/generated/api/default/patch_cards_card_id.py +192 -0
- holder/generated/api/default/patch_cards_card_id_milestones_milestone_id.py +214 -0
- holder/generated/api/default/patch_locations_location_id.py +117 -0
- holder/generated/api/default/patch_projects_project_id.py +192 -0
- holder/generated/api/default/patch_resources_resource_id.py +192 -0
- holder/generated/api/default/post_ai_messages.py +176 -0
- holder/generated/api/default/post_ai_messages_capture.py +181 -0
- holder/generated/api/default/post_ai_messages_message_id_links.py +192 -0
- holder/generated/api/default/post_ai_messages_message_id_restore.py +166 -0
- holder/generated/api/default/post_ai_runner_pull.py +181 -0
- holder/generated/api/default/post_ai_runner_retry.py +139 -0
- holder/generated/api/default/post_ai_runs.py +194 -0
- holder/generated/api/default/post_ai_threads.py +176 -0
- holder/generated/api/default/post_bye.py +166 -0
- holder/generated/api/default/post_card_references_resolve.py +181 -0
- holder/generated/api/default/post_cards.py +176 -0
- holder/generated/api/default/post_cards_card_id_links.py +192 -0
- holder/generated/api/default/post_cards_card_id_milestones.py +199 -0
- holder/generated/api/default/post_cards_card_id_move.py +222 -0
- holder/generated/api/default/post_cards_card_id_resources.py +197 -0
- holder/generated/api/default/post_cards_card_id_restore.py +186 -0
- holder/generated/api/default/post_cards_card_id_tags.py +197 -0
- holder/generated/api/default/post_imports.py +160 -0
- holder/generated/api/default/post_locations.py +160 -0
- holder/generated/api/default/post_locations_location_id_test.py +105 -0
- holder/generated/api/default/post_projects.py +171 -0
- holder/generated/api/default/post_projects_project_id_git_pull.py +211 -0
- holder/generated/api/default/post_projects_project_id_git_push.py +193 -0
- holder/generated/api/default/post_projects_project_id_git_sync.py +207 -0
- holder/generated/api/default/post_projects_project_id_git_test_remote.py +205 -0
- holder/generated/api/default/post_projects_project_id_history_cards_card_id_restore.py +240 -0
- holder/generated/api/default/post_projects_project_id_recovery_token_export.py +196 -0
- holder/generated/api/default/post_projects_project_id_recovery_token_import.py +196 -0
- holder/generated/api/default/post_projects_project_id_repair_hierarchy.py +240 -0
- holder/generated/api/default/post_rebuild.py +176 -0
- holder/generated/api/default/post_recovery_token_import.py +185 -0
- holder/generated/api/default/post_reindex.py +139 -0
- holder/generated/api/default/post_resources.py +176 -0
- holder/generated/api/default/put_ai_local_models_config.py +173 -0
- holder/generated/api/default/put_ai_providers_credentials.py +175 -0
- holder/generated/api/default/put_locations_location_id_binding.py +117 -0
- holder/generated/api/default/put_locations_preferred.py +107 -0
- holder/generated/api/default/stream_changes.py +256 -0
- holder/generated/client.py +280 -0
- holder/generated/errors.py +16 -0
- holder/generated/models/__init__.py +569 -0
- holder/generated/models/ai_local_model_config_data.py +111 -0
- holder/generated/models/ai_local_model_config_response.py +78 -0
- holder/generated/models/ai_local_model_config_update_request.py +134 -0
- holder/generated/models/ai_message.py +204 -0
- holder/generated/models/ai_message_capture_request.py +246 -0
- holder/generated/models/ai_message_capture_request_context_type_0.py +46 -0
- holder/generated/models/ai_message_capture_response.py +78 -0
- holder/generated/models/ai_message_capture_response_data.py +78 -0
- holder/generated/models/ai_message_create_request.py +186 -0
- holder/generated/models/ai_message_create_response.py +78 -0
- holder/generated/models/ai_message_create_response_data.py +62 -0
- holder/generated/models/ai_message_get_response.py +76 -0
- holder/generated/models/ai_message_list_response.py +84 -0
- holder/generated/models/ai_message_update_request.py +203 -0
- holder/generated/models/ai_message_update_response.py +78 -0
- holder/generated/models/ai_message_update_response_data.py +62 -0
- holder/generated/models/ai_provider_catalog_provider.py +265 -0
- holder/generated/models/ai_provider_catalog_provider_api_type_0.py +46 -0
- holder/generated/models/ai_provider_catalog_provider_auth_type_0.py +46 -0
- holder/generated/models/ai_provider_catalog_provider_models_item.py +46 -0
- holder/generated/models/ai_provider_catalog_response.py +78 -0
- holder/generated/models/ai_provider_catalog_response_data.py +100 -0
- holder/generated/models/ai_provider_credential.py +94 -0
- holder/generated/models/ai_provider_credential_delete_response.py +80 -0
- holder/generated/models/ai_provider_credential_delete_response_data.py +62 -0
- holder/generated/models/ai_provider_credential_upsert_request.py +92 -0
- holder/generated/models/ai_provider_credential_upsert_response.py +78 -0
- holder/generated/models/ai_provider_credentials_list_response.py +80 -0
- holder/generated/models/ai_provider_credentials_list_response_data.py +78 -0
- holder/generated/models/ai_run_create_request.py +133 -0
- holder/generated/models/ai_run_create_request_context.py +46 -0
- holder/generated/models/ai_run_event_data.py +146 -0
- holder/generated/models/ai_run_get_response.py +76 -0
- holder/generated/models/ai_run_item.py +328 -0
- holder/generated/models/ai_run_item_policy_trace_type_0.py +46 -0
- holder/generated/models/ai_run_list_response.py +84 -0
- holder/generated/models/ai_status_data.py +186 -0
- holder/generated/models/ai_status_pull_job.py +130 -0
- holder/generated/models/ai_status_response.py +76 -0
- holder/generated/models/ai_thread.py +116 -0
- holder/generated/models/ai_thread_create_request.py +119 -0
- holder/generated/models/ai_thread_create_response.py +78 -0
- holder/generated/models/ai_thread_create_response_data.py +62 -0
- holder/generated/models/ai_thread_get_response.py +76 -0
- holder/generated/models/ai_thread_list_response.py +84 -0
- holder/generated/models/ai_thread_patch_response.py +78 -0
- holder/generated/models/ai_thread_patch_response_data.py +62 -0
- holder/generated/models/ai_thread_update_request.py +104 -0
- holder/generated/models/asset_import_job.py +141 -0
- holder/generated/models/asset_import_job_response.py +76 -0
- holder/generated/models/asset_import_job_status.py +13 -0
- holder/generated/models/asset_import_request.py +86 -0
- holder/generated/models/asset_placement.py +96 -0
- holder/generated/models/asset_placement_encoding.py +9 -0
- holder/generated/models/bye_response.py +62 -0
- holder/generated/models/calendar_card_activity.py +86 -0
- holder/generated/models/card_context_breadcrumb.py +113 -0
- holder/generated/models/card_context_breadcrumb_type.py +9 -0
- holder/generated/models/card_context_card.py +161 -0
- holder/generated/models/card_context_data.py +124 -0
- holder/generated/models/card_context_data_project.py +70 -0
- holder/generated/models/card_context_response.py +76 -0
- holder/generated/models/card_create_request.py +147 -0
- holder/generated/models/card_create_response.py +78 -0
- holder/generated/models/card_create_response_data.py +70 -0
- holder/generated/models/card_data.py +160 -0
- holder/generated/models/card_get_response.py +76 -0
- holder/generated/models/card_history_author.py +70 -0
- holder/generated/models/card_history_comparison_data.py +110 -0
- holder/generated/models/card_history_comparison_response.py +78 -0
- holder/generated/models/card_history_diff_line.py +100 -0
- holder/generated/models/card_history_diff_line_origin.py +10 -0
- holder/generated/models/card_history_entry.py +172 -0
- holder/generated/models/card_history_entry_kind.py +16 -0
- holder/generated/models/card_history_entry_saves_item.py +94 -0
- holder/generated/models/card_history_page_data.py +114 -0
- holder/generated/models/card_history_page_response.py +76 -0
- holder/generated/models/card_history_restore_response.py +80 -0
- holder/generated/models/card_history_restore_response_data.py +108 -0
- holder/generated/models/card_history_snapshot_response.py +80 -0
- holder/generated/models/card_history_snapshot_response_data.py +76 -0
- holder/generated/models/card_history_version.py +86 -0
- holder/generated/models/card_link.py +116 -0
- holder/generated/models/card_link_create_request.py +111 -0
- holder/generated/models/card_link_create_response.py +76 -0
- holder/generated/models/card_link_delete_request.py +80 -0
- holder/generated/models/card_link_list_response.py +84 -0
- holder/generated/models/card_list_item.py +161 -0
- holder/generated/models/card_list_response.py +84 -0
- holder/generated/models/card_move_intent.py +15 -0
- holder/generated/models/card_move_request.py +134 -0
- holder/generated/models/card_move_response.py +76 -0
- holder/generated/models/card_move_result.py +114 -0
- holder/generated/models/card_page.py +90 -0
- holder/generated/models/card_page_item.py +170 -0
- holder/generated/models/card_page_response.py +76 -0
- holder/generated/models/card_patch_response.py +78 -0
- holder/generated/models/card_patch_response_data.py +62 -0
- holder/generated/models/card_reference_candidate.py +84 -0
- holder/generated/models/card_reference_resolve_data.py +129 -0
- holder/generated/models/card_reference_resolve_data_match_kind.py +10 -0
- holder/generated/models/card_reference_resolve_data_status.py +10 -0
- holder/generated/models/card_reference_resolve_request.py +82 -0
- holder/generated/models/card_reference_resolve_request_scope.py +10 -0
- holder/generated/models/card_reference_resolve_response.py +78 -0
- holder/generated/models/card_tag_mutation_request.py +70 -0
- holder/generated/models/card_tag_mutation_response.py +78 -0
- holder/generated/models/card_tag_mutation_result.py +88 -0
- holder/generated/models/card_tag_mutation_result_outcome.py +12 -0
- holder/generated/models/card_update_request.py +122 -0
- holder/generated/models/caste_info.py +85 -0
- holder/generated/models/caste_info_name.py +12 -0
- holder/generated/models/caste_recommended_model.py +143 -0
- holder/generated/models/caste_recommended_model_required_caste.py +12 -0
- holder/generated/models/change_event_data.py +109 -0
- holder/generated/models/change_event_data_entity.py +14 -0
- holder/generated/models/delete_cards_card_id_children.py +9 -0
- holder/generated/models/delete_cards_card_id_resources_body.py +70 -0
- holder/generated/models/error.py +70 -0
- holder/generated/models/error_response.py +76 -0
- holder/generated/models/event_checkpoint.py +92 -0
- holder/generated/models/event_checkpoint_git_revisions.py +66 -0
- holder/generated/models/event_checkpoint_history_urls.py +48 -0
- holder/generated/models/event_checkpoint_response.py +76 -0
- holder/generated/models/event_resync_data.py +116 -0
- holder/generated/models/event_resync_data_reason.py +9 -0
- holder/generated/models/get_ai_catalog_json_response_200.py +46 -0
- holder/generated/models/get_ai_messages_message_id_backlinks_include_deleted.py +9 -0
- holder/generated/models/get_ai_messages_message_id_links_include_deleted.py +9 -0
- holder/generated/models/get_cards_card_id_backlinks_include_deleted.py +9 -0
- holder/generated/models/get_cards_card_id_links_include_deleted.py +9 -0
- holder/generated/models/get_cards_context_order.py +10 -0
- holder/generated/models/get_cards_order.py +10 -0
- holder/generated/models/get_cards_view.py +9 -0
- holder/generated/models/get_git_providers_json_response_200.py +46 -0
- holder/generated/models/get_locations_location_id_response_200.py +46 -0
- holder/generated/models/get_ping_response_200.py +8 -0
- holder/generated/models/get_projects_order.py +13 -0
- holder/generated/models/get_projects_project_id_cards_order.py +9 -0
- holder/generated/models/get_projects_project_id_cards_parent_type_0.py +8 -0
- holder/generated/models/get_projects_project_id_history_cards_card_id_compare_mode.py +9 -0
- holder/generated/models/get_projects_project_id_history_kind.py +13 -0
- holder/generated/models/health_data.py +110 -0
- holder/generated/models/health_data_crypt_filter.py +78 -0
- holder/generated/models/health_response.py +76 -0
- holder/generated/models/hierarchy_repair.py +100 -0
- holder/generated/models/hierarchy_repair_move.py +76 -0
- holder/generated/models/hierarchy_repair_request.py +62 -0
- holder/generated/models/hierarchy_repair_response.py +76 -0
- holder/generated/models/local_model.py +91 -0
- holder/generated/models/location_binding_request.py +81 -0
- holder/generated/models/location_binding_request_values.py +46 -0
- holder/generated/models/milestone.py +177 -0
- holder/generated/models/milestone_create_request.py +135 -0
- holder/generated/models/milestone_list_response.py +84 -0
- holder/generated/models/milestone_remove_response.py +78 -0
- holder/generated/models/milestone_remove_result.py +79 -0
- holder/generated/models/milestone_response.py +76 -0
- holder/generated/models/milestone_update_request.py +116 -0
- holder/generated/models/patch_locations_location_id_body.py +90 -0
- holder/generated/models/patch_locations_location_id_body_configuration.py +46 -0
- holder/generated/models/post_ai_runner_pull_body.py +62 -0
- holder/generated/models/post_cards_card_id_resources_body.py +70 -0
- holder/generated/models/post_locations_response_201.py +46 -0
- holder/generated/models/project.py +197 -0
- holder/generated/models/project_calendar_response.py +78 -0
- holder/generated/models/project_calendar_response_data.py +136 -0
- holder/generated/models/project_create_request.py +177 -0
- holder/generated/models/project_create_request_privacy_mode.py +9 -0
- holder/generated/models/project_create_response.py +78 -0
- holder/generated/models/project_create_response_data.py +62 -0
- holder/generated/models/project_delete_response.py +78 -0
- holder/generated/models/project_delete_response_data.py +62 -0
- holder/generated/models/project_encryption_check.py +94 -0
- holder/generated/models/project_encryption_check_response.py +80 -0
- holder/generated/models/project_encryption_check_response_data.py +92 -0
- holder/generated/models/project_encryption_check_response_data_privacy_mode.py +9 -0
- holder/generated/models/project_get_response.py +76 -0
- holder/generated/models/project_git_push_request.py +95 -0
- holder/generated/models/project_git_push_response.py +78 -0
- holder/generated/models/project_git_push_response_data.py +199 -0
- holder/generated/models/project_git_push_response_data_status.py +15 -0
- holder/generated/models/project_git_sync_operation_response.py +80 -0
- holder/generated/models/project_git_sync_operation_response_data.py +163 -0
- holder/generated/models/project_git_sync_operation_response_data_pull.py +96 -0
- holder/generated/models/project_git_sync_operation_response_data_pull_status.py +11 -0
- holder/generated/models/project_git_sync_operation_response_data_push.py +118 -0
- holder/generated/models/project_git_sync_operation_response_data_push_status.py +15 -0
- holder/generated/models/project_git_sync_operation_response_data_status.py +9 -0
- holder/generated/models/project_git_sync_request.py +94 -0
- holder/generated/models/project_git_sync_status_response.py +80 -0
- holder/generated/models/project_git_sync_status_response_data.py +76 -0
- holder/generated/models/project_git_test_remote_request.py +96 -0
- holder/generated/models/project_git_test_remote_response.py +80 -0
- holder/generated/models/project_git_test_remote_response_data.py +151 -0
- holder/generated/models/project_git_test_remote_response_data_status.py +14 -0
- holder/generated/models/project_history_activity.py +138 -0
- holder/generated/models/project_history_affected_object.py +74 -0
- holder/generated/models/project_history_affected_object_kind.py +13 -0
- holder/generated/models/project_history_page_data.py +115 -0
- holder/generated/models/project_history_page_response.py +78 -0
- holder/generated/models/project_list_response.py +84 -0
- holder/generated/models/project_privacy_mode.py +9 -0
- holder/generated/models/project_recovery_token_export_request.py +62 -0
- holder/generated/models/project_recovery_token_export_response.py +80 -0
- holder/generated/models/project_recovery_token_export_response_data.py +78 -0
- holder/generated/models/project_recovery_token_import_request.py +70 -0
- holder/generated/models/project_recovery_token_import_response.py +80 -0
- holder/generated/models/project_recovery_token_import_response_data.py +62 -0
- holder/generated/models/project_sync.py +227 -0
- holder/generated/models/project_tag.py +70 -0
- holder/generated/models/project_tag_list_response.py +84 -0
- holder/generated/models/project_update_request.py +181 -0
- holder/generated/models/project_update_request_privacy_mode.py +9 -0
- holder/generated/models/project_update_response.py +78 -0
- holder/generated/models/project_update_response_data.py +75 -0
- holder/generated/models/put_locations_preferred_body.py +70 -0
- holder/generated/models/rebuild_data.py +94 -0
- holder/generated/models/rebuild_request.py +62 -0
- holder/generated/models/rebuild_response.py +76 -0
- holder/generated/models/recovery_token_import_auto_response.py +80 -0
- holder/generated/models/recovery_token_import_auto_response_data.py +141 -0
- holder/generated/models/recovery_token_import_auto_response_data_pull_status.py +10 -0
- holder/generated/models/reindex_data.py +62 -0
- holder/generated/models/reindex_response.py +76 -0
- holder/generated/models/resource.py +134 -0
- holder/generated/models/resource_asset.py +140 -0
- holder/generated/models/resource_attachment_response.py +80 -0
- holder/generated/models/resource_attachment_response_data.py +90 -0
- holder/generated/models/resource_attachment_response_data_outcome.py +11 -0
- holder/generated/models/resource_create_request.py +129 -0
- holder/generated/models/resource_delete_response.py +78 -0
- holder/generated/models/resource_delete_response_data.py +62 -0
- holder/generated/models/resource_list_response.py +134 -0
- holder/generated/models/resource_metadata.py +55 -0
- holder/generated/models/resource_response.py +76 -0
- holder/generated/models/resource_update_request.py +102 -0
- holder/generated/models/runner_capabilities_data.py +220 -0
- holder/generated/models/runner_capabilities_response.py +78 -0
- holder/generated/models/runner_pull_job.py +122 -0
- holder/generated/models/runner_pull_progress.py +86 -0
- holder/generated/models/runner_pull_start_response.py +78 -0
- holder/generated/models/runner_pull_start_response_data.py +78 -0
- holder/generated/models/runner_pull_status_response.py +76 -0
- holder/generated/models/search_card_item.py +102 -0
- holder/generated/models/search_cards_response.py +84 -0
- holder/generated/models/search_message_item.py +86 -0
- holder/generated/models/search_messages_response.py +84 -0
- holder/generated/models/storage_location.py +149 -0
- holder/generated/models/storage_location_configuration.py +48 -0
- holder/generated/models/storage_location_list_response.py +100 -0
- holder/generated/models/storage_location_provider.py +9 -0
- holder/generated/models/storage_location_request.py +118 -0
- holder/generated/models/storage_location_request_configuration.py +46 -0
- holder/generated/models/storage_location_request_provider.py +9 -0
- holder/generated/models/trash_delete_response.py +78 -0
- holder/generated/models/trash_delete_response_data.py +46 -0
- holder/generated/models/trash_item.py +211 -0
- holder/generated/models/trash_list_response.py +84 -0
- holder/generated/types.py +54 -0
- holder/library.py +15 -0
- holder/models/__init__.py +15 -0
- holder/models/card.py +272 -0
- holder/models/project.py +207 -0
- holder/models/search.py +66 -0
- holder/models/tag.py +117 -0
- holder/py.typed +0 -0
- holder_python-0.2.5.dist-info/METADATA +120 -0
- holder_python-0.2.5.dist-info/RECORD +391 -0
- holder_python-0.2.5.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from ..models.hierarchy_repair import HierarchyRepair
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="HierarchyRepairResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class HierarchyRepairResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
ok (bool):
|
|
22
|
+
data (HierarchyRepair):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
ok: bool
|
|
26
|
+
data: HierarchyRepair
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
ok = self.ok
|
|
31
|
+
|
|
32
|
+
data = self.data.to_dict()
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update(
|
|
37
|
+
{
|
|
38
|
+
"ok": ok,
|
|
39
|
+
"data": data,
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
return field_dict
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
47
|
+
from ..models.hierarchy_repair import HierarchyRepair
|
|
48
|
+
|
|
49
|
+
d = dict(src_dict)
|
|
50
|
+
ok = d.pop("ok")
|
|
51
|
+
|
|
52
|
+
data = HierarchyRepair.from_dict(d.pop("data"))
|
|
53
|
+
|
|
54
|
+
hierarchy_repair_response = cls(
|
|
55
|
+
ok=ok,
|
|
56
|
+
data=data,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
hierarchy_repair_response.additional_properties = d
|
|
60
|
+
return hierarchy_repair_response
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def additional_keys(self) -> list[str]:
|
|
64
|
+
return list(self.additional_properties.keys())
|
|
65
|
+
|
|
66
|
+
def __getitem__(self, key: str) -> Any:
|
|
67
|
+
return self.additional_properties[key]
|
|
68
|
+
|
|
69
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
70
|
+
self.additional_properties[key] = value
|
|
71
|
+
|
|
72
|
+
def __delitem__(self, key: str) -> None:
|
|
73
|
+
del self.additional_properties[key]
|
|
74
|
+
|
|
75
|
+
def __contains__(self, key: str) -> bool:
|
|
76
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
from ..types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="LocalModel")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class LocalModel:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
name (str):
|
|
20
|
+
digest (str | Unset):
|
|
21
|
+
size (int | Unset):
|
|
22
|
+
modified_at (str | Unset):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
name: str
|
|
26
|
+
digest: str | Unset = UNSET
|
|
27
|
+
size: int | Unset = UNSET
|
|
28
|
+
modified_at: str | Unset = UNSET
|
|
29
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
30
|
+
|
|
31
|
+
def to_dict(self) -> dict[str, Any]:
|
|
32
|
+
name = self.name
|
|
33
|
+
|
|
34
|
+
digest = self.digest
|
|
35
|
+
|
|
36
|
+
size = self.size
|
|
37
|
+
|
|
38
|
+
modified_at = self.modified_at
|
|
39
|
+
|
|
40
|
+
field_dict: dict[str, Any] = {}
|
|
41
|
+
field_dict.update(self.additional_properties)
|
|
42
|
+
field_dict.update(
|
|
43
|
+
{
|
|
44
|
+
"name": name,
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
if digest is not UNSET:
|
|
48
|
+
field_dict["digest"] = digest
|
|
49
|
+
if size is not UNSET:
|
|
50
|
+
field_dict["size"] = size
|
|
51
|
+
if modified_at is not UNSET:
|
|
52
|
+
field_dict["modified_at"] = modified_at
|
|
53
|
+
|
|
54
|
+
return field_dict
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
58
|
+
d = dict(src_dict)
|
|
59
|
+
name = d.pop("name")
|
|
60
|
+
|
|
61
|
+
digest = d.pop("digest", UNSET)
|
|
62
|
+
|
|
63
|
+
size = d.pop("size", UNSET)
|
|
64
|
+
|
|
65
|
+
modified_at = d.pop("modified_at", UNSET)
|
|
66
|
+
|
|
67
|
+
local_model = cls(
|
|
68
|
+
name=name,
|
|
69
|
+
digest=digest,
|
|
70
|
+
size=size,
|
|
71
|
+
modified_at=modified_at,
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
local_model.additional_properties = d
|
|
75
|
+
return local_model
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def additional_keys(self) -> list[str]:
|
|
79
|
+
return list(self.additional_properties.keys())
|
|
80
|
+
|
|
81
|
+
def __getitem__(self, key: str) -> Any:
|
|
82
|
+
return self.additional_properties[key]
|
|
83
|
+
|
|
84
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
85
|
+
self.additional_properties[key] = value
|
|
86
|
+
|
|
87
|
+
def __delitem__(self, key: str) -> None:
|
|
88
|
+
del self.additional_properties[key]
|
|
89
|
+
|
|
90
|
+
def __contains__(self, key: str) -> bool:
|
|
91
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
from ..types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from ..models.location_binding_request_values import LocationBindingRequestValues
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="LocationBindingRequest")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class LocationBindingRequest:
|
|
21
|
+
"""
|
|
22
|
+
Attributes:
|
|
23
|
+
values (LocationBindingRequestValues):
|
|
24
|
+
preview (str | Unset):
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
values: LocationBindingRequestValues
|
|
28
|
+
preview: str | Unset = UNSET
|
|
29
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
30
|
+
|
|
31
|
+
def to_dict(self) -> dict[str, Any]:
|
|
32
|
+
values = self.values.to_dict()
|
|
33
|
+
|
|
34
|
+
preview = self.preview
|
|
35
|
+
|
|
36
|
+
field_dict: dict[str, Any] = {}
|
|
37
|
+
field_dict.update(self.additional_properties)
|
|
38
|
+
field_dict.update(
|
|
39
|
+
{
|
|
40
|
+
"values": values,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
if preview is not UNSET:
|
|
44
|
+
field_dict["preview"] = preview
|
|
45
|
+
|
|
46
|
+
return field_dict
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
50
|
+
from ..models.location_binding_request_values import (
|
|
51
|
+
LocationBindingRequestValues,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
d = dict(src_dict)
|
|
55
|
+
values = LocationBindingRequestValues.from_dict(d.pop("values"))
|
|
56
|
+
|
|
57
|
+
preview = d.pop("preview", UNSET)
|
|
58
|
+
|
|
59
|
+
location_binding_request = cls(
|
|
60
|
+
values=values,
|
|
61
|
+
preview=preview,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
location_binding_request.additional_properties = d
|
|
65
|
+
return location_binding_request
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def additional_keys(self) -> list[str]:
|
|
69
|
+
return list(self.additional_properties.keys())
|
|
70
|
+
|
|
71
|
+
def __getitem__(self, key: str) -> Any:
|
|
72
|
+
return self.additional_properties[key]
|
|
73
|
+
|
|
74
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
75
|
+
self.additional_properties[key] = value
|
|
76
|
+
|
|
77
|
+
def __delitem__(self, key: str) -> None:
|
|
78
|
+
del self.additional_properties[key]
|
|
79
|
+
|
|
80
|
+
def __contains__(self, key: str) -> bool:
|
|
81
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="LocationBindingRequestValues")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class LocationBindingRequestValues:
|
|
15
|
+
additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
|
|
16
|
+
|
|
17
|
+
def to_dict(self) -> dict[str, Any]:
|
|
18
|
+
|
|
19
|
+
field_dict: dict[str, Any] = {}
|
|
20
|
+
field_dict.update(self.additional_properties)
|
|
21
|
+
|
|
22
|
+
return field_dict
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
26
|
+
d = dict(src_dict)
|
|
27
|
+
location_binding_request_values = cls()
|
|
28
|
+
|
|
29
|
+
location_binding_request_values.additional_properties = d
|
|
30
|
+
return location_binding_request_values
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def additional_keys(self) -> list[str]:
|
|
34
|
+
return list(self.additional_properties.keys())
|
|
35
|
+
|
|
36
|
+
def __getitem__(self, key: str) -> str:
|
|
37
|
+
return self.additional_properties[key]
|
|
38
|
+
|
|
39
|
+
def __setitem__(self, key: str, value: str) -> None:
|
|
40
|
+
self.additional_properties[key] = value
|
|
41
|
+
|
|
42
|
+
def __delitem__(self, key: str) -> None:
|
|
43
|
+
del self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __contains__(self, key: str) -> bool:
|
|
46
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar, cast
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from attrs import define as _attrs_define
|
|
8
|
+
from attrs import field as _attrs_field
|
|
9
|
+
from typing_extensions import Self
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="Milestone")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class Milestone:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
milestone_id (UUID): Canonical milestone identifier; this is not a card ID and is never abbreviated.
|
|
21
|
+
card_id (str):
|
|
22
|
+
start_at (int): Unix epoch seconds. For an all-day milestone, this encodes the originating local date at local
|
|
23
|
+
midnight.
|
|
24
|
+
all_day (bool): When true, start_at and end_at carry local calendar-date semantics and clients should render
|
|
25
|
+
dates rather than ordinary timed instants.
|
|
26
|
+
created_at (int):
|
|
27
|
+
updated_at (int):
|
|
28
|
+
end_at (int | None | Unset): Inclusive milestone end in Unix epoch seconds. For an all-day milestone, this
|
|
29
|
+
encodes the inclusive ending local date at local midnight.
|
|
30
|
+
kind (None | str | Unset):
|
|
31
|
+
description (None | str | Unset):
|
|
32
|
+
card_title (str | Unset): Included in project calendar responses.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
milestone_id: UUID
|
|
36
|
+
card_id: str
|
|
37
|
+
start_at: int
|
|
38
|
+
all_day: bool
|
|
39
|
+
created_at: int
|
|
40
|
+
updated_at: int
|
|
41
|
+
end_at: int | None | Unset = UNSET
|
|
42
|
+
kind: None | str | Unset = UNSET
|
|
43
|
+
description: None | str | Unset = UNSET
|
|
44
|
+
card_title: str | Unset = UNSET
|
|
45
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
46
|
+
|
|
47
|
+
def to_dict(self) -> dict[str, Any]:
|
|
48
|
+
milestone_id = str(self.milestone_id)
|
|
49
|
+
|
|
50
|
+
card_id = self.card_id
|
|
51
|
+
|
|
52
|
+
start_at = self.start_at
|
|
53
|
+
|
|
54
|
+
all_day = self.all_day
|
|
55
|
+
|
|
56
|
+
created_at = self.created_at
|
|
57
|
+
|
|
58
|
+
updated_at = self.updated_at
|
|
59
|
+
|
|
60
|
+
end_at: int | None | Unset
|
|
61
|
+
if isinstance(self.end_at, Unset):
|
|
62
|
+
end_at = UNSET
|
|
63
|
+
else:
|
|
64
|
+
end_at = self.end_at
|
|
65
|
+
|
|
66
|
+
kind: None | str | Unset
|
|
67
|
+
if isinstance(self.kind, Unset):
|
|
68
|
+
kind = UNSET
|
|
69
|
+
else:
|
|
70
|
+
kind = self.kind
|
|
71
|
+
|
|
72
|
+
description: None | str | Unset
|
|
73
|
+
if isinstance(self.description, Unset):
|
|
74
|
+
description = UNSET
|
|
75
|
+
else:
|
|
76
|
+
description = self.description
|
|
77
|
+
|
|
78
|
+
card_title = self.card_title
|
|
79
|
+
|
|
80
|
+
field_dict: dict[str, Any] = {}
|
|
81
|
+
field_dict.update(self.additional_properties)
|
|
82
|
+
field_dict.update(
|
|
83
|
+
{
|
|
84
|
+
"milestone_id": milestone_id,
|
|
85
|
+
"card_id": card_id,
|
|
86
|
+
"start_at": start_at,
|
|
87
|
+
"all_day": all_day,
|
|
88
|
+
"created_at": created_at,
|
|
89
|
+
"updated_at": updated_at,
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
if end_at is not UNSET:
|
|
93
|
+
field_dict["end_at"] = end_at
|
|
94
|
+
if kind is not UNSET:
|
|
95
|
+
field_dict["kind"] = kind
|
|
96
|
+
if description is not UNSET:
|
|
97
|
+
field_dict["description"] = description
|
|
98
|
+
if card_title is not UNSET:
|
|
99
|
+
field_dict["card_title"] = card_title
|
|
100
|
+
|
|
101
|
+
return field_dict
|
|
102
|
+
|
|
103
|
+
@classmethod
|
|
104
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
105
|
+
d = dict(src_dict)
|
|
106
|
+
milestone_id = UUID(d.pop("milestone_id"))
|
|
107
|
+
|
|
108
|
+
card_id = d.pop("card_id")
|
|
109
|
+
|
|
110
|
+
start_at = d.pop("start_at")
|
|
111
|
+
|
|
112
|
+
all_day = d.pop("all_day")
|
|
113
|
+
|
|
114
|
+
created_at = d.pop("created_at")
|
|
115
|
+
|
|
116
|
+
updated_at = d.pop("updated_at")
|
|
117
|
+
|
|
118
|
+
def _parse_end_at(data: object) -> int | None | Unset:
|
|
119
|
+
if data is None:
|
|
120
|
+
return data
|
|
121
|
+
if isinstance(data, Unset):
|
|
122
|
+
return data
|
|
123
|
+
return cast(int | None | Unset, data)
|
|
124
|
+
|
|
125
|
+
end_at = _parse_end_at(d.pop("end_at", UNSET))
|
|
126
|
+
|
|
127
|
+
def _parse_kind(data: object) -> None | str | Unset:
|
|
128
|
+
if data is None:
|
|
129
|
+
return data
|
|
130
|
+
if isinstance(data, Unset):
|
|
131
|
+
return data
|
|
132
|
+
return cast(None | str | Unset, data)
|
|
133
|
+
|
|
134
|
+
kind = _parse_kind(d.pop("kind", UNSET))
|
|
135
|
+
|
|
136
|
+
def _parse_description(data: object) -> None | str | Unset:
|
|
137
|
+
if data is None:
|
|
138
|
+
return data
|
|
139
|
+
if isinstance(data, Unset):
|
|
140
|
+
return data
|
|
141
|
+
return cast(None | str | Unset, data)
|
|
142
|
+
|
|
143
|
+
description = _parse_description(d.pop("description", UNSET))
|
|
144
|
+
|
|
145
|
+
card_title = d.pop("card_title", UNSET)
|
|
146
|
+
|
|
147
|
+
milestone = cls(
|
|
148
|
+
milestone_id=milestone_id,
|
|
149
|
+
card_id=card_id,
|
|
150
|
+
start_at=start_at,
|
|
151
|
+
all_day=all_day,
|
|
152
|
+
created_at=created_at,
|
|
153
|
+
updated_at=updated_at,
|
|
154
|
+
end_at=end_at,
|
|
155
|
+
kind=kind,
|
|
156
|
+
description=description,
|
|
157
|
+
card_title=card_title,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
milestone.additional_properties = d
|
|
161
|
+
return milestone
|
|
162
|
+
|
|
163
|
+
@property
|
|
164
|
+
def additional_keys(self) -> list[str]:
|
|
165
|
+
return list(self.additional_properties.keys())
|
|
166
|
+
|
|
167
|
+
def __getitem__(self, key: str) -> Any:
|
|
168
|
+
return self.additional_properties[key]
|
|
169
|
+
|
|
170
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
171
|
+
self.additional_properties[key] = value
|
|
172
|
+
|
|
173
|
+
def __delitem__(self, key: str) -> None:
|
|
174
|
+
del self.additional_properties[key]
|
|
175
|
+
|
|
176
|
+
def __contains__(self, key: str) -> bool:
|
|
177
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar, cast
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
from ..types import UNSET, Unset
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T", bound="MilestoneCreateRequest")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class MilestoneCreateRequest:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
start_at (int): Unix epoch seconds. For all_day=true, encode the local calendar date at local midnight.
|
|
20
|
+
end_at (int | None | Unset): Inclusive milestone end. For all_day=true, encode the inclusive ending local date
|
|
21
|
+
at local midnight.
|
|
22
|
+
all_day (bool | Unset): Marks start_at and end_at as local calendar dates rather than timed instants. Default:
|
|
23
|
+
False.
|
|
24
|
+
kind (None | str | Unset):
|
|
25
|
+
description (None | str | Unset):
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
start_at: int
|
|
29
|
+
end_at: int | None | Unset = UNSET
|
|
30
|
+
all_day: bool | Unset = False
|
|
31
|
+
kind: None | str | Unset = UNSET
|
|
32
|
+
description: None | str | Unset = UNSET
|
|
33
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
34
|
+
|
|
35
|
+
def to_dict(self) -> dict[str, Any]:
|
|
36
|
+
start_at = self.start_at
|
|
37
|
+
|
|
38
|
+
end_at: int | None | Unset
|
|
39
|
+
if isinstance(self.end_at, Unset):
|
|
40
|
+
end_at = UNSET
|
|
41
|
+
else:
|
|
42
|
+
end_at = self.end_at
|
|
43
|
+
|
|
44
|
+
all_day = self.all_day
|
|
45
|
+
|
|
46
|
+
kind: None | str | Unset
|
|
47
|
+
if isinstance(self.kind, Unset):
|
|
48
|
+
kind = UNSET
|
|
49
|
+
else:
|
|
50
|
+
kind = self.kind
|
|
51
|
+
|
|
52
|
+
description: None | str | Unset
|
|
53
|
+
if isinstance(self.description, Unset):
|
|
54
|
+
description = UNSET
|
|
55
|
+
else:
|
|
56
|
+
description = self.description
|
|
57
|
+
|
|
58
|
+
field_dict: dict[str, Any] = {}
|
|
59
|
+
field_dict.update(self.additional_properties)
|
|
60
|
+
field_dict.update(
|
|
61
|
+
{
|
|
62
|
+
"start_at": start_at,
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
if end_at is not UNSET:
|
|
66
|
+
field_dict["end_at"] = end_at
|
|
67
|
+
if all_day is not UNSET:
|
|
68
|
+
field_dict["all_day"] = all_day
|
|
69
|
+
if kind is not UNSET:
|
|
70
|
+
field_dict["kind"] = kind
|
|
71
|
+
if description is not UNSET:
|
|
72
|
+
field_dict["description"] = description
|
|
73
|
+
|
|
74
|
+
return field_dict
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
78
|
+
d = dict(src_dict)
|
|
79
|
+
start_at = d.pop("start_at")
|
|
80
|
+
|
|
81
|
+
def _parse_end_at(data: object) -> int | None | Unset:
|
|
82
|
+
if data is None:
|
|
83
|
+
return data
|
|
84
|
+
if isinstance(data, Unset):
|
|
85
|
+
return data
|
|
86
|
+
return cast(int | None | Unset, data)
|
|
87
|
+
|
|
88
|
+
end_at = _parse_end_at(d.pop("end_at", UNSET))
|
|
89
|
+
|
|
90
|
+
all_day = d.pop("all_day", UNSET)
|
|
91
|
+
|
|
92
|
+
def _parse_kind(data: object) -> None | str | Unset:
|
|
93
|
+
if data is None:
|
|
94
|
+
return data
|
|
95
|
+
if isinstance(data, Unset):
|
|
96
|
+
return data
|
|
97
|
+
return cast(None | str | Unset, data)
|
|
98
|
+
|
|
99
|
+
kind = _parse_kind(d.pop("kind", UNSET))
|
|
100
|
+
|
|
101
|
+
def _parse_description(data: object) -> None | str | Unset:
|
|
102
|
+
if data is None:
|
|
103
|
+
return data
|
|
104
|
+
if isinstance(data, Unset):
|
|
105
|
+
return data
|
|
106
|
+
return cast(None | str | Unset, data)
|
|
107
|
+
|
|
108
|
+
description = _parse_description(d.pop("description", UNSET))
|
|
109
|
+
|
|
110
|
+
milestone_create_request = cls(
|
|
111
|
+
start_at=start_at,
|
|
112
|
+
end_at=end_at,
|
|
113
|
+
all_day=all_day,
|
|
114
|
+
kind=kind,
|
|
115
|
+
description=description,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
milestone_create_request.additional_properties = d
|
|
119
|
+
return milestone_create_request
|
|
120
|
+
|
|
121
|
+
@property
|
|
122
|
+
def additional_keys(self) -> list[str]:
|
|
123
|
+
return list(self.additional_properties.keys())
|
|
124
|
+
|
|
125
|
+
def __getitem__(self, key: str) -> Any:
|
|
126
|
+
return self.additional_properties[key]
|
|
127
|
+
|
|
128
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
129
|
+
self.additional_properties[key] = value
|
|
130
|
+
|
|
131
|
+
def __delitem__(self, key: str) -> None:
|
|
132
|
+
del self.additional_properties[key]
|
|
133
|
+
|
|
134
|
+
def __contains__(self, key: str) -> bool:
|
|
135
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
from typing_extensions import Self
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from ..models.milestone import Milestone
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="MilestoneListResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class MilestoneListResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
ok (bool):
|
|
22
|
+
data (list[Milestone]):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
ok: bool
|
|
26
|
+
data: list[Milestone]
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
ok = self.ok
|
|
31
|
+
|
|
32
|
+
data = []
|
|
33
|
+
for data_item_data in self.data:
|
|
34
|
+
data_item = data_item_data.to_dict()
|
|
35
|
+
data.append(data_item)
|
|
36
|
+
|
|
37
|
+
field_dict: dict[str, Any] = {}
|
|
38
|
+
field_dict.update(self.additional_properties)
|
|
39
|
+
field_dict.update(
|
|
40
|
+
{
|
|
41
|
+
"ok": ok,
|
|
42
|
+
"data": data,
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
return field_dict
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
50
|
+
from ..models.milestone import Milestone
|
|
51
|
+
|
|
52
|
+
d = dict(src_dict)
|
|
53
|
+
ok = d.pop("ok")
|
|
54
|
+
|
|
55
|
+
data = []
|
|
56
|
+
_data = d.pop("data")
|
|
57
|
+
for data_item_data in _data:
|
|
58
|
+
data_item = Milestone.from_dict(data_item_data)
|
|
59
|
+
|
|
60
|
+
data.append(data_item)
|
|
61
|
+
|
|
62
|
+
milestone_list_response = cls(
|
|
63
|
+
ok=ok,
|
|
64
|
+
data=data,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
milestone_list_response.additional_properties = d
|
|
68
|
+
return milestone_list_response
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def additional_keys(self) -> list[str]:
|
|
72
|
+
return list(self.additional_properties.keys())
|
|
73
|
+
|
|
74
|
+
def __getitem__(self, key: str) -> Any:
|
|
75
|
+
return self.additional_properties[key]
|
|
76
|
+
|
|
77
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
78
|
+
self.additional_properties[key] = value
|
|
79
|
+
|
|
80
|
+
def __delitem__(self, key: str) -> None:
|
|
81
|
+
del self.additional_properties[key]
|
|
82
|
+
|
|
83
|
+
def __contains__(self, key: str) -> bool:
|
|
84
|
+
return key in self.additional_properties
|