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,70 @@
|
|
|
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="ProjectTag")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class ProjectTag:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
tag (str): Normalized tag without the leading
|
|
18
|
+
card_count (int): Number of live cards in the project carrying this tag.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
tag: str
|
|
22
|
+
card_count: int
|
|
23
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
24
|
+
|
|
25
|
+
def to_dict(self) -> dict[str, Any]:
|
|
26
|
+
tag = self.tag
|
|
27
|
+
|
|
28
|
+
card_count = self.card_count
|
|
29
|
+
|
|
30
|
+
field_dict: dict[str, Any] = {}
|
|
31
|
+
field_dict.update(self.additional_properties)
|
|
32
|
+
field_dict.update(
|
|
33
|
+
{
|
|
34
|
+
"tag": tag,
|
|
35
|
+
"card_count": card_count,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
return field_dict
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
43
|
+
d = dict(src_dict)
|
|
44
|
+
tag = d.pop("tag")
|
|
45
|
+
|
|
46
|
+
card_count = d.pop("card_count")
|
|
47
|
+
|
|
48
|
+
project_tag = cls(
|
|
49
|
+
tag=tag,
|
|
50
|
+
card_count=card_count,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
project_tag.additional_properties = d
|
|
54
|
+
return project_tag
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def additional_keys(self) -> list[str]:
|
|
58
|
+
return list(self.additional_properties.keys())
|
|
59
|
+
|
|
60
|
+
def __getitem__(self, key: str) -> Any:
|
|
61
|
+
return self.additional_properties[key]
|
|
62
|
+
|
|
63
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
64
|
+
self.additional_properties[key] = value
|
|
65
|
+
|
|
66
|
+
def __delitem__(self, key: str) -> None:
|
|
67
|
+
del self.additional_properties[key]
|
|
68
|
+
|
|
69
|
+
def __contains__(self, key: str) -> bool:
|
|
70
|
+
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.project_tag import ProjectTag
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="ProjectTagListResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class ProjectTagListResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
ok (bool):
|
|
22
|
+
data (list[ProjectTag]): Tags ordered by descending card count, then ascending tag.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
ok: bool
|
|
26
|
+
data: list[ProjectTag]
|
|
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.project_tag import ProjectTag
|
|
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 = ProjectTag.from_dict(data_item_data)
|
|
59
|
+
|
|
60
|
+
data.append(data_item)
|
|
61
|
+
|
|
62
|
+
project_tag_list_response = cls(
|
|
63
|
+
ok=ok,
|
|
64
|
+
data=data,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
project_tag_list_response.additional_properties = d
|
|
68
|
+
return project_tag_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
|
|
@@ -0,0 +1,181 @@
|
|
|
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 ..models.project_update_request_privacy_mode import ProjectUpdateRequestPrivacyMode
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="ProjectUpdateRequest")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class ProjectUpdateRequest:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
updated_at (int):
|
|
21
|
+
name (None | str | Unset):
|
|
22
|
+
root_path (None | str | Unset):
|
|
23
|
+
git_remote_url (None | str | Unset):
|
|
24
|
+
git_provider (None | str | Unset):
|
|
25
|
+
privacy_mode (ProjectUpdateRequestPrivacyMode | Unset):
|
|
26
|
+
project_key_id (None | str | Unset):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
updated_at: int
|
|
30
|
+
name: None | str | Unset = UNSET
|
|
31
|
+
root_path: None | str | Unset = UNSET
|
|
32
|
+
git_remote_url: None | str | Unset = UNSET
|
|
33
|
+
git_provider: None | str | Unset = UNSET
|
|
34
|
+
privacy_mode: ProjectUpdateRequestPrivacyMode | Unset = UNSET
|
|
35
|
+
project_key_id: None | str | Unset = UNSET
|
|
36
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
37
|
+
|
|
38
|
+
def to_dict(self) -> dict[str, Any]:
|
|
39
|
+
updated_at = self.updated_at
|
|
40
|
+
|
|
41
|
+
name: None | str | Unset
|
|
42
|
+
if isinstance(self.name, Unset):
|
|
43
|
+
name = UNSET
|
|
44
|
+
else:
|
|
45
|
+
name = self.name
|
|
46
|
+
|
|
47
|
+
root_path: None | str | Unset
|
|
48
|
+
if isinstance(self.root_path, Unset):
|
|
49
|
+
root_path = UNSET
|
|
50
|
+
else:
|
|
51
|
+
root_path = self.root_path
|
|
52
|
+
|
|
53
|
+
git_remote_url: None | str | Unset
|
|
54
|
+
if isinstance(self.git_remote_url, Unset):
|
|
55
|
+
git_remote_url = UNSET
|
|
56
|
+
else:
|
|
57
|
+
git_remote_url = self.git_remote_url
|
|
58
|
+
|
|
59
|
+
git_provider: None | str | Unset
|
|
60
|
+
if isinstance(self.git_provider, Unset):
|
|
61
|
+
git_provider = UNSET
|
|
62
|
+
else:
|
|
63
|
+
git_provider = self.git_provider
|
|
64
|
+
|
|
65
|
+
privacy_mode: str | Unset = UNSET
|
|
66
|
+
if not isinstance(self.privacy_mode, Unset):
|
|
67
|
+
privacy_mode = self.privacy_mode.value
|
|
68
|
+
|
|
69
|
+
project_key_id: None | str | Unset
|
|
70
|
+
if isinstance(self.project_key_id, Unset):
|
|
71
|
+
project_key_id = UNSET
|
|
72
|
+
else:
|
|
73
|
+
project_key_id = self.project_key_id
|
|
74
|
+
|
|
75
|
+
field_dict: dict[str, Any] = {}
|
|
76
|
+
field_dict.update(self.additional_properties)
|
|
77
|
+
field_dict.update(
|
|
78
|
+
{
|
|
79
|
+
"updated_at": updated_at,
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
if name is not UNSET:
|
|
83
|
+
field_dict["name"] = name
|
|
84
|
+
if root_path is not UNSET:
|
|
85
|
+
field_dict["root_path"] = root_path
|
|
86
|
+
if git_remote_url is not UNSET:
|
|
87
|
+
field_dict["git_remote_url"] = git_remote_url
|
|
88
|
+
if git_provider is not UNSET:
|
|
89
|
+
field_dict["git_provider"] = git_provider
|
|
90
|
+
if privacy_mode is not UNSET:
|
|
91
|
+
field_dict["privacy_mode"] = privacy_mode
|
|
92
|
+
if project_key_id is not UNSET:
|
|
93
|
+
field_dict["project_key_id"] = project_key_id
|
|
94
|
+
|
|
95
|
+
return field_dict
|
|
96
|
+
|
|
97
|
+
@classmethod
|
|
98
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
99
|
+
d = dict(src_dict)
|
|
100
|
+
updated_at = d.pop("updated_at")
|
|
101
|
+
|
|
102
|
+
def _parse_name(data: object) -> None | str | Unset:
|
|
103
|
+
if data is None:
|
|
104
|
+
return data
|
|
105
|
+
if isinstance(data, Unset):
|
|
106
|
+
return data
|
|
107
|
+
return cast(None | str | Unset, data)
|
|
108
|
+
|
|
109
|
+
name = _parse_name(d.pop("name", UNSET))
|
|
110
|
+
|
|
111
|
+
def _parse_root_path(data: object) -> None | str | Unset:
|
|
112
|
+
if data is None:
|
|
113
|
+
return data
|
|
114
|
+
if isinstance(data, Unset):
|
|
115
|
+
return data
|
|
116
|
+
return cast(None | str | Unset, data)
|
|
117
|
+
|
|
118
|
+
root_path = _parse_root_path(d.pop("root_path", UNSET))
|
|
119
|
+
|
|
120
|
+
def _parse_git_remote_url(data: object) -> None | str | Unset:
|
|
121
|
+
if data is None:
|
|
122
|
+
return data
|
|
123
|
+
if isinstance(data, Unset):
|
|
124
|
+
return data
|
|
125
|
+
return cast(None | str | Unset, data)
|
|
126
|
+
|
|
127
|
+
git_remote_url = _parse_git_remote_url(d.pop("git_remote_url", UNSET))
|
|
128
|
+
|
|
129
|
+
def _parse_git_provider(data: object) -> None | str | Unset:
|
|
130
|
+
if data is None:
|
|
131
|
+
return data
|
|
132
|
+
if isinstance(data, Unset):
|
|
133
|
+
return data
|
|
134
|
+
return cast(None | str | Unset, data)
|
|
135
|
+
|
|
136
|
+
git_provider = _parse_git_provider(d.pop("git_provider", UNSET))
|
|
137
|
+
|
|
138
|
+
_privacy_mode = d.pop("privacy_mode", UNSET)
|
|
139
|
+
privacy_mode: ProjectUpdateRequestPrivacyMode | Unset
|
|
140
|
+
if isinstance(_privacy_mode, Unset):
|
|
141
|
+
privacy_mode = UNSET
|
|
142
|
+
else:
|
|
143
|
+
privacy_mode = ProjectUpdateRequestPrivacyMode(_privacy_mode)
|
|
144
|
+
|
|
145
|
+
def _parse_project_key_id(data: object) -> None | str | Unset:
|
|
146
|
+
if data is None:
|
|
147
|
+
return data
|
|
148
|
+
if isinstance(data, Unset):
|
|
149
|
+
return data
|
|
150
|
+
return cast(None | str | Unset, data)
|
|
151
|
+
|
|
152
|
+
project_key_id = _parse_project_key_id(d.pop("project_key_id", UNSET))
|
|
153
|
+
|
|
154
|
+
project_update_request = cls(
|
|
155
|
+
updated_at=updated_at,
|
|
156
|
+
name=name,
|
|
157
|
+
root_path=root_path,
|
|
158
|
+
git_remote_url=git_remote_url,
|
|
159
|
+
git_provider=git_provider,
|
|
160
|
+
privacy_mode=privacy_mode,
|
|
161
|
+
project_key_id=project_key_id,
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
project_update_request.additional_properties = d
|
|
165
|
+
return project_update_request
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def additional_keys(self) -> list[str]:
|
|
169
|
+
return list(self.additional_properties.keys())
|
|
170
|
+
|
|
171
|
+
def __getitem__(self, key: str) -> Any:
|
|
172
|
+
return self.additional_properties[key]
|
|
173
|
+
|
|
174
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
175
|
+
self.additional_properties[key] = value
|
|
176
|
+
|
|
177
|
+
def __delitem__(self, key: str) -> None:
|
|
178
|
+
del self.additional_properties[key]
|
|
179
|
+
|
|
180
|
+
def __contains__(self, key: str) -> bool:
|
|
181
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,78 @@
|
|
|
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.project_update_response_data import ProjectUpdateResponseData
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="ProjectUpdateResponse")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class ProjectUpdateResponse:
|
|
19
|
+
"""
|
|
20
|
+
Attributes:
|
|
21
|
+
ok (bool):
|
|
22
|
+
data (ProjectUpdateResponseData):
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
ok: bool
|
|
26
|
+
data: ProjectUpdateResponseData
|
|
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.project_update_response_data import (
|
|
48
|
+
ProjectUpdateResponseData,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
d = dict(src_dict)
|
|
52
|
+
ok = d.pop("ok")
|
|
53
|
+
|
|
54
|
+
data = ProjectUpdateResponseData.from_dict(d.pop("data"))
|
|
55
|
+
|
|
56
|
+
project_update_response = cls(
|
|
57
|
+
ok=ok,
|
|
58
|
+
data=data,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
project_update_response.additional_properties = d
|
|
62
|
+
return project_update_response
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def additional_keys(self) -> list[str]:
|
|
66
|
+
return list(self.additional_properties.keys())
|
|
67
|
+
|
|
68
|
+
def __getitem__(self, key: str) -> Any:
|
|
69
|
+
return self.additional_properties[key]
|
|
70
|
+
|
|
71
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
72
|
+
self.additional_properties[key] = value
|
|
73
|
+
|
|
74
|
+
def __delitem__(self, key: str) -> None:
|
|
75
|
+
del self.additional_properties[key]
|
|
76
|
+
|
|
77
|
+
def __contains__(self, key: str) -> bool:
|
|
78
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,75 @@
|
|
|
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="ProjectUpdateResponseData")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@_attrs_define
|
|
16
|
+
class ProjectUpdateResponseData:
|
|
17
|
+
"""
|
|
18
|
+
Attributes:
|
|
19
|
+
project_id (str):
|
|
20
|
+
git_remote_changed (bool | Unset): Present when git_remote_url is supplied. Reports whether the stored remote
|
|
21
|
+
URL changed, including disconnecting it. Reapplying the same value returns false. The URL is persisted only
|
|
22
|
+
after Git accepts the remote operation.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
project_id: str
|
|
26
|
+
git_remote_changed: bool | Unset = UNSET
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
project_id = self.project_id
|
|
31
|
+
|
|
32
|
+
git_remote_changed = self.git_remote_changed
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update(
|
|
37
|
+
{
|
|
38
|
+
"project_id": project_id,
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
if git_remote_changed is not UNSET:
|
|
42
|
+
field_dict["git_remote_changed"] = git_remote_changed
|
|
43
|
+
|
|
44
|
+
return field_dict
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
48
|
+
d = dict(src_dict)
|
|
49
|
+
project_id = d.pop("project_id")
|
|
50
|
+
|
|
51
|
+
git_remote_changed = d.pop("git_remote_changed", UNSET)
|
|
52
|
+
|
|
53
|
+
project_update_response_data = cls(
|
|
54
|
+
project_id=project_id,
|
|
55
|
+
git_remote_changed=git_remote_changed,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
project_update_response_data.additional_properties = d
|
|
59
|
+
return project_update_response_data
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
def additional_keys(self) -> list[str]:
|
|
63
|
+
return list(self.additional_properties.keys())
|
|
64
|
+
|
|
65
|
+
def __getitem__(self, key: str) -> Any:
|
|
66
|
+
return self.additional_properties[key]
|
|
67
|
+
|
|
68
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
69
|
+
self.additional_properties[key] = value
|
|
70
|
+
|
|
71
|
+
def __delitem__(self, key: str) -> None:
|
|
72
|
+
del self.additional_properties[key]
|
|
73
|
+
|
|
74
|
+
def __contains__(self, key: str) -> bool:
|
|
75
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,70 @@
|
|
|
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="PutLocationsPreferredBody")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class PutLocationsPreferredBody:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
project_id (str):
|
|
18
|
+
location_id (str):
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
project_id: str
|
|
22
|
+
location_id: str
|
|
23
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
24
|
+
|
|
25
|
+
def to_dict(self) -> dict[str, Any]:
|
|
26
|
+
project_id = self.project_id
|
|
27
|
+
|
|
28
|
+
location_id = self.location_id
|
|
29
|
+
|
|
30
|
+
field_dict: dict[str, Any] = {}
|
|
31
|
+
field_dict.update(self.additional_properties)
|
|
32
|
+
field_dict.update(
|
|
33
|
+
{
|
|
34
|
+
"project_id": project_id,
|
|
35
|
+
"location_id": location_id,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
return field_dict
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def from_dict(cls, src_dict: Mapping[str, Any]) -> Self:
|
|
43
|
+
d = dict(src_dict)
|
|
44
|
+
project_id = d.pop("project_id")
|
|
45
|
+
|
|
46
|
+
location_id = d.pop("location_id")
|
|
47
|
+
|
|
48
|
+
put_locations_preferred_body = cls(
|
|
49
|
+
project_id=project_id,
|
|
50
|
+
location_id=location_id,
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
put_locations_preferred_body.additional_properties = d
|
|
54
|
+
return put_locations_preferred_body
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def additional_keys(self) -> list[str]:
|
|
58
|
+
return list(self.additional_properties.keys())
|
|
59
|
+
|
|
60
|
+
def __getitem__(self, key: str) -> Any:
|
|
61
|
+
return self.additional_properties[key]
|
|
62
|
+
|
|
63
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
64
|
+
self.additional_properties[key] = value
|
|
65
|
+
|
|
66
|
+
def __delitem__(self, key: str) -> None:
|
|
67
|
+
del self.additional_properties[key]
|
|
68
|
+
|
|
69
|
+
def __contains__(self, key: str) -> bool:
|
|
70
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,94 @@
|
|
|
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="RebuildData")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class RebuildData:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
project_id (str):
|
|
18
|
+
cards (int):
|
|
19
|
+
ai_messages (int):
|
|
20
|
+
ai_threads (int):
|
|
21
|
+
links (int):
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
project_id: str
|
|
25
|
+
cards: int
|
|
26
|
+
ai_messages: int
|
|
27
|
+
ai_threads: int
|
|
28
|
+
links: int
|
|
29
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
30
|
+
|
|
31
|
+
def to_dict(self) -> dict[str, Any]:
|
|
32
|
+
project_id = self.project_id
|
|
33
|
+
|
|
34
|
+
cards = self.cards
|
|
35
|
+
|
|
36
|
+
ai_messages = self.ai_messages
|
|
37
|
+
|
|
38
|
+
ai_threads = self.ai_threads
|
|
39
|
+
|
|
40
|
+
links = self.links
|
|
41
|
+
|
|
42
|
+
field_dict: dict[str, Any] = {}
|
|
43
|
+
field_dict.update(self.additional_properties)
|
|
44
|
+
field_dict.update(
|
|
45
|
+
{
|
|
46
|
+
"project_id": project_id,
|
|
47
|
+
"cards": cards,
|
|
48
|
+
"ai_messages": ai_messages,
|
|
49
|
+
"ai_threads": ai_threads,
|
|
50
|
+
"links": links,
|
|
51
|
+
}
|
|
52
|
+
)
|
|
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
|
+
project_id = d.pop("project_id")
|
|
60
|
+
|
|
61
|
+
cards = d.pop("cards")
|
|
62
|
+
|
|
63
|
+
ai_messages = d.pop("ai_messages")
|
|
64
|
+
|
|
65
|
+
ai_threads = d.pop("ai_threads")
|
|
66
|
+
|
|
67
|
+
links = d.pop("links")
|
|
68
|
+
|
|
69
|
+
rebuild_data = cls(
|
|
70
|
+
project_id=project_id,
|
|
71
|
+
cards=cards,
|
|
72
|
+
ai_messages=ai_messages,
|
|
73
|
+
ai_threads=ai_threads,
|
|
74
|
+
links=links,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
rebuild_data.additional_properties = d
|
|
78
|
+
return rebuild_data
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def additional_keys(self) -> list[str]:
|
|
82
|
+
return list(self.additional_properties.keys())
|
|
83
|
+
|
|
84
|
+
def __getitem__(self, key: str) -> Any:
|
|
85
|
+
return self.additional_properties[key]
|
|
86
|
+
|
|
87
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
88
|
+
self.additional_properties[key] = value
|
|
89
|
+
|
|
90
|
+
def __delitem__(self, key: str) -> None:
|
|
91
|
+
del self.additional_properties[key]
|
|
92
|
+
|
|
93
|
+
def __contains__(self, key: str) -> bool:
|
|
94
|
+
return key in self.additional_properties
|