taskadence 0.1.0__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.
- taskadence/__init__.py +100 -0
- taskadence/_brand.py +87 -0
- taskadence/_client.py +144 -0
- taskadence/_core.py +563 -0
- taskadence/_generated/__init__.py +11 -0
- taskadence/_generated/api/__init__.py +3 -0
- taskadence/_generated/api/audit/__init__.py +3 -0
- taskadence/_generated/api/audit/audit_export.py +407 -0
- taskadence/_generated/api/audit/audit_export_json.py +422 -0
- taskadence/_generated/api/audit/audit_list.py +441 -0
- taskadence/_generated/api/availability/__init__.py +3 -0
- taskadence/_generated/api/availability/availability_create.py +242 -0
- taskadence/_generated/api/availability/availability_delete.py +227 -0
- taskadence/_generated/api/availability/availability_range.py +293 -0
- taskadence/_generated/api/availability/availability_update.py +260 -0
- taskadence/_generated/api/connected_apps/__init__.py +3 -0
- taskadence/_generated/api/connected_apps/connected_apps_delete.py +213 -0
- taskadence/_generated/api/connected_apps/connected_apps_list.py +304 -0
- taskadence/_generated/api/designations/__init__.py +3 -0
- taskadence/_generated/api/designations/designations_create.py +217 -0
- taskadence/_generated/api/designations/designations_delete.py +252 -0
- taskadence/_generated/api/designations/designations_list.py +433 -0
- taskadence/_generated/api/designations/designations_read.py +261 -0
- taskadence/_generated/api/designations/designations_replace.py +276 -0
- taskadence/_generated/api/designations/designations_set_visibility.py +254 -0
- taskadence/_generated/api/designations/designations_update.py +272 -0
- taskadence/_generated/api/goals/__init__.py +3 -0
- taskadence/_generated/api/goals/goals_create.py +246 -0
- taskadence/_generated/api/goals/goals_delete.py +252 -0
- taskadence/_generated/api/goals/goals_file_tasks.py +256 -0
- taskadence/_generated/api/goals/goals_list.py +338 -0
- taskadence/_generated/api/goals/goals_move.py +252 -0
- taskadence/_generated/api/goals/goals_org.py +249 -0
- taskadence/_generated/api/goals/goals_reorder.py +238 -0
- taskadence/_generated/api/goals/goals_replace.py +260 -0
- taskadence/_generated/api/goals/goals_unfile_task.py +241 -0
- taskadence/_generated/api/goals/goals_update.py +256 -0
- taskadence/_generated/api/health/__init__.py +3 -0
- taskadence/_generated/api/health/health_read.py +219 -0
- taskadence/_generated/api/mcp/__init__.py +3 -0
- taskadence/_generated/api/mcp/mcp_clients.py +237 -0
- taskadence/_generated/api/me/__init__.py +3 -0
- taskadence/_generated/api/me/me_read.py +243 -0
- taskadence/_generated/api/milestones/__init__.py +3 -0
- taskadence/_generated/api/milestones/milestones_create.py +252 -0
- taskadence/_generated/api/milestones/milestones_delete.py +254 -0
- taskadence/_generated/api/milestones/milestones_file_tasks.py +256 -0
- taskadence/_generated/api/milestones/milestones_list.py +338 -0
- taskadence/_generated/api/milestones/milestones_list_org.py +374 -0
- taskadence/_generated/api/milestones/milestones_move.py +256 -0
- taskadence/_generated/api/milestones/milestones_reorder.py +238 -0
- taskadence/_generated/api/milestones/milestones_replace.py +314 -0
- taskadence/_generated/api/milestones/milestones_unfile_task.py +245 -0
- taskadence/_generated/api/milestones/milestones_update.py +302 -0
- taskadence/_generated/api/oauth_clients/__init__.py +3 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_create.py +223 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_delete.py +221 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_list.py +327 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_read.py +236 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_rotate_secret.py +213 -0
- taskadence/_generated/api/oauth_clients/oauth_clients_update.py +234 -0
- taskadence/_generated/api/organization_invites/__init__.py +3 -0
- taskadence/_generated/api/organization_invites/organization_invites_accept.py +213 -0
- taskadence/_generated/api/organization_invites/organization_invites_create.py +219 -0
- taskadence/_generated/api/organization_invites/organization_invites_delete.py +213 -0
- taskadence/_generated/api/organization_invites/organization_invites_list.py +383 -0
- taskadence/_generated/api/organization_invites/organization_invites_mine.py +332 -0
- taskadence/_generated/api/organization_invites/organization_invites_reject.py +213 -0
- taskadence/_generated/api/organization_invites/organization_invites_update.py +234 -0
- taskadence/_generated/api/organization_members/__init__.py +3 -0
- taskadence/_generated/api/organization_members/organization_members_delete.py +246 -0
- taskadence/_generated/api/organization_members/organization_members_list.py +395 -0
- taskadence/_generated/api/organization_members/organization_members_read.py +250 -0
- taskadence/_generated/api/organization_members/organization_members_replace.py +272 -0
- taskadence/_generated/api/organization_members/organization_members_update.py +268 -0
- taskadence/_generated/api/organizations/__init__.py +3 -0
- taskadence/_generated/api/organizations/organizations_access_review.py +244 -0
- taskadence/_generated/api/organizations/organizations_list.py +304 -0
- taskadence/_generated/api/organizations/organizations_read.py +236 -0
- taskadence/_generated/api/organizations/organizations_settings.py +236 -0
- taskadence/_generated/api/organizations/organizations_storage.py +244 -0
- taskadence/_generated/api/organizations/organizations_update_settings.py +262 -0
- taskadence/_generated/api/project_members/__init__.py +3 -0
- taskadence/_generated/api/project_members/project_members_create.py +219 -0
- taskadence/_generated/api/project_members/project_members_delete.py +246 -0
- taskadence/_generated/api/project_members/project_members_list.py +364 -0
- taskadence/_generated/api/project_members/project_members_read.py +250 -0
- taskadence/_generated/api/project_members/project_members_replace.py +276 -0
- taskadence/_generated/api/project_members/project_members_update.py +272 -0
- taskadence/_generated/api/project_resources/__init__.py +3 -0
- taskadence/_generated/api/project_resources/project_resources_create.py +239 -0
- taskadence/_generated/api/project_resources/project_resources_delete.py +252 -0
- taskadence/_generated/api/project_resources/project_resources_list.py +355 -0
- taskadence/_generated/api/project_resources/project_resources_read.py +256 -0
- taskadence/_generated/api/project_resources/project_resources_update.py +270 -0
- taskadence/_generated/api/project_resources/project_resources_upload.py +268 -0
- taskadence/_generated/api/project_stats/__init__.py +3 -0
- taskadence/_generated/api/project_stats/project_stats_read.py +236 -0
- taskadence/_generated/api/projects/__init__.py +3 -0
- taskadence/_generated/api/projects/projects_create.py +233 -0
- taskadence/_generated/api/projects/projects_delete.py +232 -0
- taskadence/_generated/api/projects/projects_list.py +386 -0
- taskadence/_generated/api/projects/projects_read.py +236 -0
- taskadence/_generated/api/projects/projects_reorder.py +235 -0
- taskadence/_generated/api/projects/projects_replace.py +252 -0
- taskadence/_generated/api/projects/projects_update.py +248 -0
- taskadence/_generated/api/releases/__init__.py +3 -0
- taskadence/_generated/api/releases/releases_whats_new.py +286 -0
- taskadence/_generated/api/sections/__init__.py +3 -0
- taskadence/_generated/api/sections/sections_create.py +221 -0
- taskadence/_generated/api/sections/sections_delete.py +217 -0
- taskadence/_generated/api/sections/sections_list.py +461 -0
- taskadence/_generated/api/sections/sections_reorder.py +228 -0
- taskadence/_generated/api/sections/sections_update.py +232 -0
- taskadence/_generated/api/service_accounts/__init__.py +3 -0
- taskadence/_generated/api/service_accounts/service_accounts_create.py +242 -0
- taskadence/_generated/api/service_accounts/service_accounts_delete.py +235 -0
- taskadence/_generated/api/service_accounts/service_accounts_list.py +319 -0
- taskadence/_generated/api/service_accounts/service_accounts_update.py +248 -0
- taskadence/_generated/api/sprints/__init__.py +3 -0
- taskadence/_generated/api/sprints/sprints_create.py +234 -0
- taskadence/_generated/api/sprints/sprints_delete.py +258 -0
- taskadence/_generated/api/sprints/sprints_list.py +323 -0
- taskadence/_generated/api/sprints/sprints_update.py +252 -0
- taskadence/_generated/api/task_attachments/__init__.py +3 -0
- taskadence/_generated/api/task_attachments/task_attachments_create.py +290 -0
- taskadence/_generated/api/task_attachments/task_attachments_delete.py +251 -0
- taskadence/_generated/api/task_attachments/task_attachments_list.py +334 -0
- taskadence/_generated/api/task_attachments/task_attachments_read.py +261 -0
- taskadence/_generated/api/task_attachments/task_attachments_update.py +279 -0
- taskadence/_generated/api/task_comments/__init__.py +3 -0
- taskadence/_generated/api/task_comments/task_comments_create.py +235 -0
- taskadence/_generated/api/task_comments/task_comments_delete.py +257 -0
- taskadence/_generated/api/task_comments/task_comments_list.py +339 -0
- taskadence/_generated/api/task_comments/task_comments_read.py +261 -0
- taskadence/_generated/api/task_comments/task_comments_reply.py +235 -0
- taskadence/_generated/api/task_comments/task_comments_update.py +275 -0
- taskadence/_generated/api/task_history/__init__.py +3 -0
- taskadence/_generated/api/task_history/task_history_list.py +339 -0
- taskadence/_generated/api/task_history/task_history_read.py +261 -0
- taskadence/_generated/api/tasks/__init__.py +3 -0
- taskadence/_generated/api/tasks/tasks_add_dependency.py +230 -0
- taskadence/_generated/api/tasks/tasks_add_subtask.py +230 -0
- taskadence/_generated/api/tasks/tasks_create.py +231 -0
- taskadence/_generated/api/tasks/tasks_delete.py +236 -0
- taskadence/_generated/api/tasks/tasks_list.py +1044 -0
- taskadence/_generated/api/tasks/tasks_read.py +236 -0
- taskadence/_generated/api/tasks/tasks_remove_dependency.py +223 -0
- taskadence/_generated/api/tasks/tasks_remove_subtask.py +223 -0
- taskadence/_generated/api/tasks/tasks_replace.py +274 -0
- taskadence/_generated/api/tasks/tasks_review.py +270 -0
- taskadence/_generated/api/tasks/tasks_set_milestone.py +262 -0
- taskadence/_generated/api/tasks/tasks_set_project.py +238 -0
- taskadence/_generated/api/tasks/tasks_set_section.py +246 -0
- taskadence/_generated/api/tasks/tasks_set_sprint.py +262 -0
- taskadence/_generated/api/tasks/tasks_update.py +262 -0
- taskadence/_generated/api/teams/__init__.py +3 -0
- taskadence/_generated/api/teams/teams_add_member.py +238 -0
- taskadence/_generated/api/teams/teams_create.py +221 -0
- taskadence/_generated/api/teams/teams_delete.py +282 -0
- taskadence/_generated/api/teams/teams_list.py +339 -0
- taskadence/_generated/api/teams/teams_list_tasks.py +373 -0
- taskadence/_generated/api/teams/teams_read.py +236 -0
- taskadence/_generated/api/teams/teams_remove_member.py +227 -0
- taskadence/_generated/api/teams/teams_replace.py +260 -0
- taskadence/_generated/api/teams/teams_replace_member.py +264 -0
- taskadence/_generated/api/teams/teams_update.py +248 -0
- taskadence/_generated/api/teams/teams_update_member.py +252 -0
- taskadence/_generated/api/tokens/__init__.py +3 -0
- taskadence/_generated/api/tokens/tokens_create.py +249 -0
- taskadence/_generated/api/tokens/tokens_delete.py +209 -0
- taskadence/_generated/api/tokens/tokens_list.py +327 -0
- taskadence/_generated/api/tokens/tokens_read.py +236 -0
- taskadence/_generated/api/tokens/tokens_rotate.py +219 -0
- taskadence/_generated/api/tokens/tokens_update.py +230 -0
- taskadence/_generated/api/uploads/__init__.py +3 -0
- taskadence/_generated/api/uploads/uploads_complete.py +311 -0
- taskadence/_generated/api/uploads/uploads_create.py +251 -0
- taskadence/_generated/api/view_pins/__init__.py +3 -0
- taskadence/_generated/api/view_pins/view_pins_list.py +315 -0
- taskadence/_generated/api/view_pins/view_pins_pin_project.py +230 -0
- taskadence/_generated/api/view_pins/view_pins_pin_view.py +213 -0
- taskadence/_generated/api/view_pins/view_pins_reorder.py +221 -0
- taskadence/_generated/api/view_pins/view_pins_unpin_project.py +213 -0
- taskadence/_generated/api/view_pins/view_pins_unpin_view.py +213 -0
- taskadence/_generated/api/views/__init__.py +3 -0
- taskadence/_generated/api/views/views_create.py +247 -0
- taskadence/_generated/api/views/views_delete.py +230 -0
- taskadence/_generated/api/views/views_duplicate.py +234 -0
- taskadence/_generated/api/views/views_list.py +367 -0
- taskadence/_generated/api/views/views_read.py +236 -0
- taskadence/_generated/api/views/views_rows.py +336 -0
- taskadence/_generated/api/views/views_update.py +254 -0
- taskadence/_generated/api/webhooks/__init__.py +3 -0
- taskadence/_generated/api/webhooks/webhooks_create.py +231 -0
- taskadence/_generated/api/webhooks/webhooks_delete.py +230 -0
- taskadence/_generated/api/webhooks/webhooks_deliveries.py +319 -0
- taskadence/_generated/api/webhooks/webhooks_delivery.py +254 -0
- taskadence/_generated/api/webhooks/webhooks_events.py +312 -0
- taskadence/_generated/api/webhooks/webhooks_list.py +323 -0
- taskadence/_generated/api/webhooks/webhooks_read.py +236 -0
- taskadence/_generated/api/webhooks/webhooks_replay.py +233 -0
- taskadence/_generated/api/webhooks/webhooks_rotate_secret.py +217 -0
- taskadence/_generated/api/webhooks/webhooks_test.py +221 -0
- taskadence/_generated/api/webhooks/webhooks_update.py +256 -0
- taskadence/_generated/client.py +272 -0
- taskadence/_generated/errors.py +18 -0
- taskadence/_generated/models/__init__.py +619 -0
- taskadence/_generated/models/access_review.py +167 -0
- taskadence/_generated/models/acknowledgement.py +73 -0
- taskadence/_generated/models/agent_task_review_enum.py +17 -0
- taskadence/_generated/models/audit_export_row.py +358 -0
- taskadence/_generated/models/audit_export_row_after_type_0.py +53 -0
- taskadence/_generated/models/audit_export_row_before_type_0.py +53 -0
- taskadence/_generated/models/audit_page.py +108 -0
- taskadence/_generated/models/audit_page_data_item.py +53 -0
- taskadence/_generated/models/authorization_server_metadata.py +218 -0
- taskadence/_generated/models/availability_create.py +92 -0
- taskadence/_generated/models/availability_deleted.py +78 -0
- taskadence/_generated/models/availability_entry.py +226 -0
- taskadence/_generated/models/availability_member.py +101 -0
- taskadence/_generated/models/availability_range.py +131 -0
- taskadence/_generated/models/availability_update.py +147 -0
- taskadence/_generated/models/body_upload_attachment_v1_task_attachments_post.py +175 -0
- taskadence/_generated/models/body_upload_resource_v1_project_resources_upload_post.py +139 -0
- taskadence/_generated/models/client_registration_response.py +199 -0
- taskadence/_generated/models/commit_type.py +25 -0
- taskadence/_generated/models/connected_app.py +243 -0
- taskadence/_generated/models/connected_app_revoked.py +93 -0
- taskadence/_generated/models/delivery_detail.py +405 -0
- taskadence/_generated/models/delivery_detail_attempt_log_item.py +53 -0
- taskadence/_generated/models/delivery_detail_payload.py +55 -0
- taskadence/_generated/models/delivery_detail_request_headers.py +55 -0
- taskadence/_generated/models/delivery_detail_status.py +19 -0
- taskadence/_generated/models/delivery_out.py +334 -0
- taskadence/_generated/models/delivery_out_status.py +19 -0
- taskadence/_generated/models/dependency_link.py +52 -0
- taskadence/_generated/models/designation.py +504 -0
- taskadence/_generated/models/designation_catalog.py +116 -0
- taskadence/_generated/models/designation_create.py +204 -0
- taskadence/_generated/models/designation_create_metadata_type_0.py +53 -0
- taskadence/_generated/models/designation_deleted.py +86 -0
- taskadence/_generated/models/designation_group.py +95 -0
- taskadence/_generated/models/designation_metadata_type_0.py +53 -0
- taskadence/_generated/models/designation_update.py +213 -0
- taskadence/_generated/models/designation_update_metadata_type_0.py +53 -0
- taskadence/_generated/models/designation_usage.py +97 -0
- taskadence/_generated/models/designation_visibility.py +148 -0
- taskadence/_generated/models/environment.py +17 -0
- taskadence/_generated/models/goal_create.py +106 -0
- taskadence/_generated/models/goal_deleted.py +86 -0
- taskadence/_generated/models/goal_move.py +52 -0
- taskadence/_generated/models/goal_moved.py +410 -0
- taskadence/_generated/models/goal_moved_tasks_type_0_item.py +53 -0
- taskadence/_generated/models/goal_order.py +54 -0
- taskadence/_generated/models/goal_out.py +402 -0
- taskadence/_generated/models/goal_out_tasks_type_0_item.py +53 -0
- taskadence/_generated/models/goal_task_unfiled.py +86 -0
- taskadence/_generated/models/goal_tasks_file.py +54 -0
- taskadence/_generated/models/goal_tasks_filed.py +86 -0
- taskadence/_generated/models/goal_update.py +137 -0
- taskadence/_generated/models/goals_reordered.py +80 -0
- taskadence/_generated/models/health.py +73 -0
- taskadence/_generated/models/http_validation_error.py +90 -0
- taskadence/_generated/models/invite_status_enum.py +18 -0
- taskadence/_generated/models/mcp_artefact.py +121 -0
- taskadence/_generated/models/mcp_artefact_kind.py +17 -0
- taskadence/_generated/models/mcp_artefact_lang.py +17 -0
- taskadence/_generated/models/mcp_client_row.py +192 -0
- taskadence/_generated/models/mcp_clients_out.py +144 -0
- taskadence/_generated/models/mcp_clients_out_scopes_for_group.py +68 -0
- taskadence/_generated/models/mcp_group_out.py +125 -0
- taskadence/_generated/models/mcp_group_scopes.py +80 -0
- taskadence/_generated/models/mcp_package.py +98 -0
- taskadence/_generated/models/mcp_package_registry.py +16 -0
- taskadence/_generated/models/mcp_stdio.py +109 -0
- taskadence/_generated/models/mcp_stdio_env.py +55 -0
- taskadence/_generated/models/mcp_stdio_flags.py +55 -0
- taskadence/_generated/models/mcp_stdio_packages.py +70 -0
- taskadence/_generated/models/me_auth.py +201 -0
- taskadence/_generated/models/me_auth_grant_type.py +17 -0
- taskadence/_generated/models/me_auth_token_kind.py +16 -0
- taskadence/_generated/models/me_organization.py +121 -0
- taskadence/_generated/models/me_out.py +164 -0
- taskadence/_generated/models/me_principal.py +151 -0
- taskadence/_generated/models/me_principal_type.py +16 -0
- taskadence/_generated/models/mention.py +123 -0
- taskadence/_generated/models/mention_in.py +105 -0
- taskadence/_generated/models/mfa_enrolment_counts.py +79 -0
- taskadence/_generated/models/mfa_requirement_enum.py +17 -0
- taskadence/_generated/models/milestone_create.py +106 -0
- taskadence/_generated/models/milestone_deleted.py +86 -0
- taskadence/_generated/models/milestone_move.py +52 -0
- taskadence/_generated/models/milestone_moved.py +387 -0
- taskadence/_generated/models/milestone_moved_tasks_type_0_item.py +53 -0
- taskadence/_generated/models/milestone_order.py +54 -0
- taskadence/_generated/models/milestone_org_out.py +388 -0
- taskadence/_generated/models/milestone_org_out_tasks_type_0_item.py +53 -0
- taskadence/_generated/models/milestone_out.py +379 -0
- taskadence/_generated/models/milestone_out_tasks_type_0_item.py +53 -0
- taskadence/_generated/models/milestone_task_unfiled.py +86 -0
- taskadence/_generated/models/milestone_tasks_file.py +54 -0
- taskadence/_generated/models/milestone_tasks_filed.py +86 -0
- taskadence/_generated/models/milestone_update.py +161 -0
- taskadence/_generated/models/milestones_reordered.py +80 -0
- taskadence/_generated/models/o_auth_client_create.py +161 -0
- taskadence/_generated/models/o_auth_client_create_client_type.py +16 -0
- taskadence/_generated/models/o_auth_client_created.py +491 -0
- taskadence/_generated/models/o_auth_client_created_client_type.py +16 -0
- taskadence/_generated/models/o_auth_client_created_registration.py +16 -0
- taskadence/_generated/models/o_auth_client_created_review_state.py +16 -0
- taskadence/_generated/models/o_auth_client_created_status.py +16 -0
- taskadence/_generated/models/o_auth_client_out.py +470 -0
- taskadence/_generated/models/o_auth_client_out_client_type.py +16 -0
- taskadence/_generated/models/o_auth_client_out_registration.py +16 -0
- taskadence/_generated/models/o_auth_client_out_review_state.py +16 -0
- taskadence/_generated/models/o_auth_client_out_status.py +16 -0
- taskadence/_generated/models/o_auth_client_update.py +188 -0
- taskadence/_generated/models/o_auth_error_body.py +94 -0
- taskadence/_generated/models/org_card.py +310 -0
- taskadence/_generated/models/org_goals_out.py +106 -0
- taskadence/_generated/models/org_join_mode_enum.py +16 -0
- taskadence/_generated/models/org_milestones_out.py +106 -0
- taskadence/_generated/models/organization_in_db.py +460 -0
- taskadence/_generated/models/organization_in_db_metadata_type_0.py +53 -0
- taskadence/_generated/models/organization_invite_create.py +327 -0
- taskadence/_generated/models/organization_invite_in_db.py +463 -0
- taskadence/_generated/models/organization_invite_update.py +220 -0
- taskadence/_generated/models/organization_member_in_db.py +454 -0
- taskadence/_generated/models/organization_member_update.py +126 -0
- taskadence/_generated/models/organization_settings_out.py +385 -0
- taskadence/_generated/models/organization_settings_update.py +364 -0
- taskadence/_generated/models/organization_settings_update_idle_timeout_minutes_type_0.py +25 -0
- taskadence/_generated/models/page_connected_app.py +109 -0
- taskadence/_generated/models/page_delivery_out.py +109 -0
- taskadence/_generated/models/page_designation.py +109 -0
- taskadence/_generated/models/page_o_auth_client_out.py +109 -0
- taskadence/_generated/models/page_org_card.py +109 -0
- taskadence/_generated/models/page_organization_invite_in_db.py +109 -0
- taskadence/_generated/models/page_organization_member_in_db.py +109 -0
- taskadence/_generated/models/page_project_card.py +109 -0
- taskadence/_generated/models/page_project_member_in_db.py +109 -0
- taskadence/_generated/models/page_project_resource_in_db.py +109 -0
- taskadence/_generated/models/page_section_out.py +109 -0
- taskadence/_generated/models/page_service_account_out.py +109 -0
- taskadence/_generated/models/page_task_attachment_in_db.py +109 -0
- taskadence/_generated/models/page_task_comment_in_db.py +109 -0
- taskadence/_generated/models/page_task_history_in_db.py +109 -0
- taskadence/_generated/models/page_token_out.py +109 -0
- taskadence/_generated/models/page_webhook_event_type.py +109 -0
- taskadence/_generated/models/page_webhook_out.py +109 -0
- taskadence/_generated/models/pin_list_page.py +108 -0
- taskadence/_generated/models/pin_order.py +78 -0
- taskadence/_generated/models/pin_out.py +203 -0
- taskadence/_generated/models/pin_ref.py +64 -0
- taskadence/_generated/models/pin_type_enum.py +16 -0
- taskadence/_generated/models/priority_enum.py +19 -0
- taskadence/_generated/models/problem.py +167 -0
- taskadence/_generated/models/problem_errors_item.py +53 -0
- taskadence/_generated/models/problem_mfa.py +109 -0
- taskadence/_generated/models/problem_mfa_reason.py +16 -0
- taskadence/_generated/models/problem_mfa_required_for.py +16 -0
- taskadence/_generated/models/problem_type.py +63 -0
- taskadence/_generated/models/project_card.py +574 -0
- taskadence/_generated/models/project_card_metadata_type_0.py +53 -0
- taskadence/_generated/models/project_create.py +494 -0
- taskadence/_generated/models/project_create_metadata_type_0.py +53 -0
- taskadence/_generated/models/project_goals_out.py +135 -0
- taskadence/_generated/models/project_in_db.py +565 -0
- taskadence/_generated/models/project_in_db_metadata_type_0.py +53 -0
- taskadence/_generated/models/project_lead_out.py +145 -0
- taskadence/_generated/models/project_member_create.py +349 -0
- taskadence/_generated/models/project_member_in_db.py +368 -0
- taskadence/_generated/models/project_member_update.py +161 -0
- taskadence/_generated/models/project_milestones_group.py +143 -0
- taskadence/_generated/models/project_milestones_out.py +135 -0
- taskadence/_generated/models/project_order.py +63 -0
- taskadence/_generated/models/project_resource_create.py +191 -0
- taskadence/_generated/models/project_resource_in_db.py +384 -0
- taskadence/_generated/models/project_resource_update.py +125 -0
- taskadence/_generated/models/project_role_enum.py +17 -0
- taskadence/_generated/models/project_stats_in_db.py +153 -0
- taskadence/_generated/models/project_status_enum.py +24 -0
- taskadence/_generated/models/project_update.py +454 -0
- taskadence/_generated/models/project_update_metadata_type_0.py +53 -0
- taskadence/_generated/models/project_visibility_enum.py +16 -0
- taskadence/_generated/models/projects_reordered.py +88 -0
- taskadence/_generated/models/protected_resource_metadata.py +137 -0
- taskadence/_generated/models/registration_error_body.py +95 -0
- taskadence/_generated/models/registration_error_body_error.py +16 -0
- taskadence/_generated/models/release.py +215 -0
- taskadence/_generated/models/release_note_item.py +278 -0
- taskadence/_generated/models/release_summary.py +97 -0
- taskadence/_generated/models/release_type.py +18 -0
- taskadence/_generated/models/reply_create.py +60 -0
- taskadence/_generated/models/review_member.py +261 -0
- taskadence/_generated/models/review_meta.py +70 -0
- taskadence/_generated/models/review_project.py +101 -0
- taskadence/_generated/models/review_summary.py +158 -0
- taskadence/_generated/models/review_token.py +184 -0
- taskadence/_generated/models/scope_ref.py +82 -0
- taskadence/_generated/models/section_create.py +101 -0
- taskadence/_generated/models/section_out.py +225 -0
- taskadence/_generated/models/section_reorder.py +72 -0
- taskadence/_generated/models/section_scope_enum.py +17 -0
- taskadence/_generated/models/section_update.py +85 -0
- taskadence/_generated/models/sections_for_scopes.py +133 -0
- taskadence/_generated/models/service_account_create.py +75 -0
- taskadence/_generated/models/service_account_out.py +209 -0
- taskadence/_generated/models/service_account_update.py +52 -0
- taskadence/_generated/models/sprint_create.py +156 -0
- taskadence/_generated/models/sprint_deleted.py +86 -0
- taskadence/_generated/models/sprint_list_page.py +116 -0
- taskadence/_generated/models/sprint_out.py +371 -0
- taskadence/_generated/models/sprint_update.py +208 -0
- taskadence/_generated/models/storage_breakdown.py +104 -0
- taskadence/_generated/models/storage_by_kind.py +88 -0
- taskadence/_generated/models/storage_day.py +78 -0
- taskadence/_generated/models/storage_file.py +171 -0
- taskadence/_generated/models/storage_file_kind.py +17 -0
- taskadence/_generated/models/storage_project.py +101 -0
- taskadence/_generated/models/storage_usage.py +233 -0
- taskadence/_generated/models/storage_usage_status.py +19 -0
- taskadence/_generated/models/subtask_link.py +52 -0
- taskadence/_generated/models/task_attachment_in_db.py +333 -0
- taskadence/_generated/models/task_attachment_update.py +127 -0
- taskadence/_generated/models/task_card_view.py +1019 -0
- taskadence/_generated/models/task_card_view_metadata_type_0_item.py +53 -0
- taskadence/_generated/models/task_card_view_type_data_type_0.py +53 -0
- taskadence/_generated/models/task_comment_create.py +282 -0
- taskadence/_generated/models/task_comment_in_db.py +329 -0
- taskadence/_generated/models/task_comment_update.py +85 -0
- taskadence/_generated/models/task_create.py +669 -0
- taskadence/_generated/models/task_create_metadata_type_0_item.py +53 -0
- taskadence/_generated/models/task_create_type_data_type_0.py +53 -0
- taskadence/_generated/models/task_history_in_db.py +231 -0
- taskadence/_generated/models/task_history_in_db_metadata_type_0_item.py +53 -0
- taskadence/_generated/models/task_in_db.py +997 -0
- taskadence/_generated/models/task_in_db_metadata_type_0_item.py +53 -0
- taskadence/_generated/models/task_in_db_type_data_type_0.py +53 -0
- taskadence/_generated/models/task_list_page.py +109 -0
- taskadence/_generated/models/task_milestone_set.py +67 -0
- taskadence/_generated/models/task_project_set.py +66 -0
- taskadence/_generated/models/task_review_decision.py +58 -0
- taskadence/_generated/models/task_review_decision_decision.py +16 -0
- taskadence/_generated/models/task_section_out.py +118 -0
- taskadence/_generated/models/task_section_set.py +105 -0
- taskadence/_generated/models/task_sprint_set.py +65 -0
- taskadence/_generated/models/task_status_enum.py +21 -0
- taskadence/_generated/models/task_type_enum.py +16 -0
- taskadence/_generated/models/task_update.py +582 -0
- taskadence/_generated/models/task_update_metadata_type_0_item.py +53 -0
- taskadence/_generated/models/task_update_type_data_type_0.py +53 -0
- taskadence/_generated/models/team_create.py +95 -0
- taskadence/_generated/models/team_deleted.py +94 -0
- taskadence/_generated/models/team_detail.py +298 -0
- taskadence/_generated/models/team_list_page.py +116 -0
- taskadence/_generated/models/team_member_create.py +73 -0
- taskadence/_generated/models/team_member_designation.py +75 -0
- taskadence/_generated/models/team_member_out.py +192 -0
- taskadence/_generated/models/team_member_update.py +56 -0
- taskadence/_generated/models/team_out.py +270 -0
- taskadence/_generated/models/team_role_enum.py +16 -0
- taskadence/_generated/models/team_update.py +85 -0
- taskadence/_generated/models/token_create.py +190 -0
- taskadence/_generated/models/token_create_kind.py +16 -0
- taskadence/_generated/models/token_created.py +461 -0
- taskadence/_generated/models/token_created_grant_type.py +17 -0
- taskadence/_generated/models/token_created_kind.py +16 -0
- taskadence/_generated/models/token_created_status.py +17 -0
- taskadence/_generated/models/token_out.py +452 -0
- taskadence/_generated/models/token_out_grant_type.py +17 -0
- taskadence/_generated/models/token_out_kind.py +16 -0
- taskadence/_generated/models/token_out_status.py +17 -0
- taskadence/_generated/models/token_response.py +113 -0
- taskadence/_generated/models/token_update.py +52 -0
- taskadence/_generated/models/unattached_token.py +192 -0
- taskadence/_generated/models/upload_complete_in.py +65 -0
- taskadence/_generated/models/upload_create_in.py +193 -0
- taskadence/_generated/models/upload_create_in_kind.py +16 -0
- taskadence/_generated/models/upload_create_out.py +116 -0
- taskadence/_generated/models/upload_create_out_headers.py +55 -0
- taskadence/_generated/models/validation_error.py +134 -0
- taskadence/_generated/models/validation_error_context.py +53 -0
- taskadence/_generated/models/view_create.py +165 -0
- taskadence/_generated/models/view_create_display.py +55 -0
- taskadence/_generated/models/view_create_query.py +83 -0
- taskadence/_generated/models/view_deleted.py +78 -0
- taskadence/_generated/models/view_duplicate.py +102 -0
- taskadence/_generated/models/view_list_page.py +108 -0
- taskadence/_generated/models/view_out.py +295 -0
- taskadence/_generated/models/view_out_display.py +53 -0
- taskadence/_generated/models/view_out_query.py +53 -0
- taskadence/_generated/models/view_resource_enum.py +16 -0
- taskadence/_generated/models/view_scope_enum.py +17 -0
- taskadence/_generated/models/view_update.py +168 -0
- taskadence/_generated/models/view_update_display_type_0.py +53 -0
- taskadence/_generated/models/view_update_query_type_0.py +78 -0
- taskadence/_generated/models/visibility_update.py +85 -0
- taskadence/_generated/models/webhook_actor.py +100 -0
- taskadence/_generated/models/webhook_create.py +113 -0
- taskadence/_generated/models/webhook_created.py +438 -0
- taskadence/_generated/models/webhook_created_status.py +17 -0
- taskadence/_generated/models/webhook_event.py +161 -0
- taskadence/_generated/models/webhook_event_data.py +140 -0
- taskadence/_generated/models/webhook_event_data_after_type_0.py +53 -0
- taskadence/_generated/models/webhook_event_data_before_type_0.py +53 -0
- taskadence/_generated/models/webhook_event_type.py +97 -0
- taskadence/_generated/models/webhook_out.py +428 -0
- taskadence/_generated/models/webhook_out_status.py +17 -0
- taskadence/_generated/models/webhook_update.py +184 -0
- taskadence/_generated/models/webhook_update_status_type_0.py +16 -0
- taskadence/_generated/models/whats_new_response.py +107 -0
- taskadence/_generated/models/whats_new_response_summary.py +53 -0
- taskadence/_generated/types.py +56 -0
- taskadence/_operations.py +1969 -0
- taskadence/_uploads.py +527 -0
- taskadence/_version.py +3 -0
- taskadence/cli/__init__.py +612 -0
- taskadence/cli/_config.py +166 -0
- taskadence/dataframe.py +68 -0
- taskadence/errors.py +350 -0
- taskadence/models.py +14 -0
- taskadence/pagination.py +137 -0
- taskadence/py.typed +0 -0
- taskadence/resources.py +6127 -0
- taskadence/webhooks.py +149 -0
- taskadence-0.1.0.dist-info/METADATA +524 -0
- taskadence-0.1.0.dist-info/RECORD +533 -0
- taskadence-0.1.0.dist-info/WHEEL +4 -0
- taskadence-0.1.0.dist-info/entry_points.txt +3 -0
- taskadence-0.1.0.dist-info/licenses/LICENSE +202 -0
- taskadence-0.1.0.dist-info/licenses/NOTICE +2 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Mapping
|
|
6
|
+
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
from ..models.pin_type_enum import check_pin_type_enum
|
|
14
|
+
from ..models.pin_type_enum import PinTypeEnum
|
|
15
|
+
from ..models.view_resource_enum import check_view_resource_enum
|
|
16
|
+
from ..models.view_resource_enum import ViewResourceEnum
|
|
17
|
+
from ..models.view_scope_enum import check_view_scope_enum
|
|
18
|
+
from ..models.view_scope_enum import ViewScopeEnum
|
|
19
|
+
from ..types import UNSET, Unset
|
|
20
|
+
from typing import cast
|
|
21
|
+
import datetime
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
T = TypeVar("T", bound="PinOut")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@_attrs_define
|
|
28
|
+
class PinOut:
|
|
29
|
+
"""Returned by `view-pins.pin_project` and `view-pins.pin_view`.
|
|
30
|
+
|
|
31
|
+
Attributes:
|
|
32
|
+
pin_type (PinTypeEnum): One of `view`, `project`. Used by `PinOut` and 1 more.
|
|
33
|
+
pin_id (str):
|
|
34
|
+
org_id (str):
|
|
35
|
+
position (float):
|
|
36
|
+
label (str): The view's name or the project's name, resolved server-side
|
|
37
|
+
scope_type (None | Unset | ViewScopeEnum): For a view pin: the view's scope
|
|
38
|
+
resource (None | Unset | ViewResourceEnum): For a view pin: the list the view queries, `task` or `project`.
|
|
39
|
+
Empty for a project pin.
|
|
40
|
+
created_at (datetime.datetime | None | Unset):
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
pin_type: PinTypeEnum
|
|
44
|
+
pin_id: str
|
|
45
|
+
org_id: str
|
|
46
|
+
position: float
|
|
47
|
+
label: str
|
|
48
|
+
scope_type: None | Unset | ViewScopeEnum = UNSET
|
|
49
|
+
resource: None | Unset | ViewResourceEnum = UNSET
|
|
50
|
+
created_at: datetime.datetime | None | Unset = UNSET
|
|
51
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
52
|
+
# taskadence: the response's `ETag` (set by the facade on single reads / writes). Not a property of the resource: it is
|
|
53
|
+
# never serialized by `to_dict` nor read by `from_dict`, and it does not take part in equality.
|
|
54
|
+
etag: str | None = _attrs_field(default=None, init=False, repr=False, eq=False)
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> dict[str, Any]:
|
|
57
|
+
pin_type: str = self.pin_type
|
|
58
|
+
|
|
59
|
+
pin_id = self.pin_id
|
|
60
|
+
|
|
61
|
+
org_id = self.org_id
|
|
62
|
+
|
|
63
|
+
position = self.position
|
|
64
|
+
|
|
65
|
+
label = self.label
|
|
66
|
+
|
|
67
|
+
scope_type: None | str | Unset
|
|
68
|
+
if isinstance(self.scope_type, Unset):
|
|
69
|
+
scope_type = UNSET
|
|
70
|
+
elif isinstance(self.scope_type, str):
|
|
71
|
+
scope_type = self.scope_type
|
|
72
|
+
else:
|
|
73
|
+
scope_type = self.scope_type
|
|
74
|
+
|
|
75
|
+
resource: None | str | Unset
|
|
76
|
+
if isinstance(self.resource, Unset):
|
|
77
|
+
resource = UNSET
|
|
78
|
+
elif isinstance(self.resource, str):
|
|
79
|
+
resource = self.resource
|
|
80
|
+
else:
|
|
81
|
+
resource = self.resource
|
|
82
|
+
|
|
83
|
+
created_at: None | str | Unset
|
|
84
|
+
if isinstance(self.created_at, Unset):
|
|
85
|
+
created_at = UNSET
|
|
86
|
+
elif isinstance(self.created_at, datetime.datetime):
|
|
87
|
+
created_at = self.created_at.isoformat()
|
|
88
|
+
else:
|
|
89
|
+
created_at = self.created_at
|
|
90
|
+
|
|
91
|
+
field_dict: dict[str, Any] = {}
|
|
92
|
+
field_dict.update(self.additional_properties)
|
|
93
|
+
field_dict.update(
|
|
94
|
+
{
|
|
95
|
+
"pin_type": pin_type,
|
|
96
|
+
"pin_id": pin_id,
|
|
97
|
+
"org_id": org_id,
|
|
98
|
+
"position": position,
|
|
99
|
+
"label": label,
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
if scope_type is not UNSET:
|
|
103
|
+
field_dict["scope_type"] = scope_type
|
|
104
|
+
if resource is not UNSET:
|
|
105
|
+
field_dict["resource"] = resource
|
|
106
|
+
if created_at is not UNSET:
|
|
107
|
+
field_dict["created_at"] = created_at
|
|
108
|
+
|
|
109
|
+
return field_dict
|
|
110
|
+
|
|
111
|
+
@classmethod
|
|
112
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
113
|
+
d = dict(src_dict)
|
|
114
|
+
pin_type = check_pin_type_enum(d.pop("pin_type"))
|
|
115
|
+
|
|
116
|
+
pin_id = d.pop("pin_id")
|
|
117
|
+
|
|
118
|
+
org_id = d.pop("org_id")
|
|
119
|
+
|
|
120
|
+
position = d.pop("position")
|
|
121
|
+
|
|
122
|
+
label = d.pop("label")
|
|
123
|
+
|
|
124
|
+
def _parse_scope_type(data: object) -> None | Unset | ViewScopeEnum:
|
|
125
|
+
if data is None:
|
|
126
|
+
return data
|
|
127
|
+
if isinstance(data, Unset):
|
|
128
|
+
return data
|
|
129
|
+
try:
|
|
130
|
+
if not isinstance(data, str):
|
|
131
|
+
raise TypeError()
|
|
132
|
+
scope_type_type_0 = check_view_scope_enum(data)
|
|
133
|
+
|
|
134
|
+
return scope_type_type_0
|
|
135
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
136
|
+
pass
|
|
137
|
+
return cast(None | Unset | ViewScopeEnum, data)
|
|
138
|
+
|
|
139
|
+
scope_type = _parse_scope_type(d.pop("scope_type", UNSET))
|
|
140
|
+
|
|
141
|
+
def _parse_resource(data: object) -> None | Unset | ViewResourceEnum:
|
|
142
|
+
if data is None:
|
|
143
|
+
return data
|
|
144
|
+
if isinstance(data, Unset):
|
|
145
|
+
return data
|
|
146
|
+
try:
|
|
147
|
+
if not isinstance(data, str):
|
|
148
|
+
raise TypeError()
|
|
149
|
+
resource_type_0 = check_view_resource_enum(data)
|
|
150
|
+
|
|
151
|
+
return resource_type_0
|
|
152
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
153
|
+
pass
|
|
154
|
+
return cast(None | Unset | ViewResourceEnum, data)
|
|
155
|
+
|
|
156
|
+
resource = _parse_resource(d.pop("resource", UNSET))
|
|
157
|
+
|
|
158
|
+
def _parse_created_at(data: object) -> datetime.datetime | None | Unset:
|
|
159
|
+
if data is None:
|
|
160
|
+
return data
|
|
161
|
+
if isinstance(data, Unset):
|
|
162
|
+
return data
|
|
163
|
+
try:
|
|
164
|
+
if not isinstance(data, str):
|
|
165
|
+
raise TypeError()
|
|
166
|
+
created_at_type_0 = datetime.datetime.fromisoformat(data)
|
|
167
|
+
|
|
168
|
+
return created_at_type_0
|
|
169
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
170
|
+
pass
|
|
171
|
+
return cast(datetime.datetime | None | Unset, data)
|
|
172
|
+
|
|
173
|
+
created_at = _parse_created_at(d.pop("created_at", UNSET))
|
|
174
|
+
|
|
175
|
+
pin_out = cls(
|
|
176
|
+
pin_type=pin_type,
|
|
177
|
+
pin_id=pin_id,
|
|
178
|
+
org_id=org_id,
|
|
179
|
+
position=position,
|
|
180
|
+
label=label,
|
|
181
|
+
scope_type=scope_type,
|
|
182
|
+
resource=resource,
|
|
183
|
+
created_at=created_at,
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
pin_out.additional_properties = d
|
|
187
|
+
return pin_out
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
def additional_keys(self) -> list[str]:
|
|
191
|
+
return list(self.additional_properties.keys())
|
|
192
|
+
|
|
193
|
+
def __getitem__(self, key: str) -> Any:
|
|
194
|
+
return self.additional_properties[key]
|
|
195
|
+
|
|
196
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
197
|
+
self.additional_properties[key] = value
|
|
198
|
+
|
|
199
|
+
def __delitem__(self, key: str) -> None:
|
|
200
|
+
del self.additional_properties[key]
|
|
201
|
+
|
|
202
|
+
def __contains__(self, key: str) -> bool:
|
|
203
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Mapping
|
|
6
|
+
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
from ..models.pin_type_enum import check_pin_type_enum
|
|
14
|
+
from ..models.pin_type_enum import PinTypeEnum
|
|
15
|
+
from typing import cast
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T", bound="PinRef")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class PinRef:
|
|
23
|
+
"""Part of `PinOrder`.
|
|
24
|
+
|
|
25
|
+
Attributes:
|
|
26
|
+
pin_type (PinTypeEnum): One of `view`, `project`. Used by `PinOut` and 1 more.
|
|
27
|
+
pin_id (str):
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
pin_type: PinTypeEnum
|
|
31
|
+
pin_id: str
|
|
32
|
+
# taskadence: the response's `ETag` (set by the facade on single reads / writes). Not a property of the resource: it is
|
|
33
|
+
# never serialized by `to_dict` nor read by `from_dict`, and it does not take part in equality.
|
|
34
|
+
etag: str | None = _attrs_field(default=None, init=False, repr=False, eq=False)
|
|
35
|
+
|
|
36
|
+
def to_dict(self) -> dict[str, Any]:
|
|
37
|
+
pin_type: str = self.pin_type
|
|
38
|
+
|
|
39
|
+
pin_id = self.pin_id
|
|
40
|
+
|
|
41
|
+
field_dict: dict[str, Any] = {}
|
|
42
|
+
|
|
43
|
+
field_dict.update(
|
|
44
|
+
{
|
|
45
|
+
"pin_type": pin_type,
|
|
46
|
+
"pin_id": pin_id,
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
return field_dict
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
54
|
+
d = dict(src_dict)
|
|
55
|
+
pin_type = check_pin_type_enum(d.pop("pin_type"))
|
|
56
|
+
|
|
57
|
+
pin_id = d.pop("pin_id")
|
|
58
|
+
|
|
59
|
+
pin_ref = cls(
|
|
60
|
+
pin_type=pin_type,
|
|
61
|
+
pin_id=pin_id,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
return pin_ref
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
PinTypeEnum = Literal["project", "view"]
|
|
6
|
+
|
|
7
|
+
PIN_TYPE_ENUM_VALUES: set[PinTypeEnum] = {
|
|
8
|
+
"project",
|
|
9
|
+
"view",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def check_pin_type_enum(value: str) -> PinTypeEnum:
|
|
14
|
+
if value in PIN_TYPE_ENUM_VALUES:
|
|
15
|
+
return value
|
|
16
|
+
raise TypeError(f"Unexpected value {value!r}. Expected one of {PIN_TYPE_ENUM_VALUES!r}")
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
PriorityEnum = Literal["critical", "high", "low", "medium", "none"]
|
|
6
|
+
|
|
7
|
+
PRIORITY_ENUM_VALUES: set[PriorityEnum] = {
|
|
8
|
+
"critical",
|
|
9
|
+
"high",
|
|
10
|
+
"low",
|
|
11
|
+
"medium",
|
|
12
|
+
"none",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def check_priority_enum(value: str) -> PriorityEnum:
|
|
17
|
+
if value in PRIORITY_ENUM_VALUES:
|
|
18
|
+
return value
|
|
19
|
+
raise TypeError(f"Unexpected value {value!r}. Expected one of {PRIORITY_ENUM_VALUES!r}")
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Mapping
|
|
6
|
+
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
from ..models.problem_type import check_problem_type
|
|
14
|
+
from ..models.problem_type import ProblemType
|
|
15
|
+
from ..types import UNSET, Unset
|
|
16
|
+
from typing import cast
|
|
17
|
+
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from ..models.problem_errors_item import ProblemErrorsItem
|
|
20
|
+
from ..models.problem_mfa import ProblemMfa
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
T = TypeVar("T", bound="Problem")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@_attrs_define
|
|
27
|
+
class Problem:
|
|
28
|
+
"""An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation;
|
|
29
|
+
`request_id` identifies the request for support.
|
|
30
|
+
|
|
31
|
+
Attributes:
|
|
32
|
+
type_ (ProblemType): `about:blank` or a `urn:taskadence:problem:*` identifier
|
|
33
|
+
title (str): Example: Forbidden.
|
|
34
|
+
status (int): Example: 403.
|
|
35
|
+
detail (Any): Human-readable explanation (a string; for a 422, the list of validation errors) Example: This task
|
|
36
|
+
is restricted to other users.
|
|
37
|
+
instance (str): Example: /v1/tasks/T123.
|
|
38
|
+
request_id (str): Example: 9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11.
|
|
39
|
+
errors (list[ProblemErrorsItem] | Unset): Structured failures: validation errors, or `{loc, msg, allowed}` for a
|
|
40
|
+
bad parameter
|
|
41
|
+
mfa (ProblemMfa | Unset): On an `mfa-required` problem only: `enrolled` (does the person have an authenticator
|
|
42
|
+
app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization's requirement;
|
|
43
|
+
`step_up`: this action needs a second step)
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
type_: ProblemType
|
|
47
|
+
title: str
|
|
48
|
+
status: int
|
|
49
|
+
detail: Any
|
|
50
|
+
instance: str
|
|
51
|
+
request_id: str
|
|
52
|
+
errors: list[ProblemErrorsItem] | Unset = UNSET
|
|
53
|
+
mfa: ProblemMfa | Unset = UNSET
|
|
54
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
55
|
+
# taskadence: the response's `ETag` (set by the facade on single reads / writes). Not a property of the resource: it is
|
|
56
|
+
# never serialized by `to_dict` nor read by `from_dict`, and it does not take part in equality.
|
|
57
|
+
etag: str | None = _attrs_field(default=None, init=False, repr=False, eq=False)
|
|
58
|
+
|
|
59
|
+
def to_dict(self) -> dict[str, Any]:
|
|
60
|
+
from ..models.problem_errors_item import ProblemErrorsItem # noqa: PLC0415
|
|
61
|
+
from ..models.problem_mfa import ProblemMfa # noqa: PLC0415
|
|
62
|
+
|
|
63
|
+
type_: str = self.type_
|
|
64
|
+
|
|
65
|
+
title = self.title
|
|
66
|
+
|
|
67
|
+
status = self.status
|
|
68
|
+
|
|
69
|
+
detail = self.detail
|
|
70
|
+
|
|
71
|
+
instance = self.instance
|
|
72
|
+
|
|
73
|
+
request_id = self.request_id
|
|
74
|
+
|
|
75
|
+
errors: list[dict[str, Any]] | Unset = UNSET
|
|
76
|
+
if not isinstance(self.errors, Unset):
|
|
77
|
+
errors = []
|
|
78
|
+
for errors_item_data in self.errors:
|
|
79
|
+
errors_item = errors_item_data.to_dict()
|
|
80
|
+
errors.append(errors_item)
|
|
81
|
+
|
|
82
|
+
mfa: dict[str, Any] | Unset = UNSET
|
|
83
|
+
if not isinstance(self.mfa, Unset):
|
|
84
|
+
mfa = self.mfa.to_dict()
|
|
85
|
+
|
|
86
|
+
field_dict: dict[str, Any] = {}
|
|
87
|
+
field_dict.update(self.additional_properties)
|
|
88
|
+
field_dict.update(
|
|
89
|
+
{
|
|
90
|
+
"type": type_,
|
|
91
|
+
"title": title,
|
|
92
|
+
"status": status,
|
|
93
|
+
"detail": detail,
|
|
94
|
+
"instance": instance,
|
|
95
|
+
"request_id": request_id,
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
if errors is not UNSET:
|
|
99
|
+
field_dict["errors"] = errors
|
|
100
|
+
if mfa is not UNSET:
|
|
101
|
+
field_dict["mfa"] = mfa
|
|
102
|
+
|
|
103
|
+
return field_dict
|
|
104
|
+
|
|
105
|
+
@classmethod
|
|
106
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
107
|
+
from ..models.problem_errors_item import ProblemErrorsItem # noqa: PLC0415
|
|
108
|
+
from ..models.problem_mfa import ProblemMfa # noqa: PLC0415
|
|
109
|
+
|
|
110
|
+
d = dict(src_dict)
|
|
111
|
+
type_ = check_problem_type(d.pop("type"))
|
|
112
|
+
|
|
113
|
+
title = d.pop("title")
|
|
114
|
+
|
|
115
|
+
status = d.pop("status")
|
|
116
|
+
|
|
117
|
+
detail = d.pop("detail")
|
|
118
|
+
|
|
119
|
+
instance = d.pop("instance")
|
|
120
|
+
|
|
121
|
+
request_id = d.pop("request_id")
|
|
122
|
+
|
|
123
|
+
_errors = d.pop("errors", UNSET)
|
|
124
|
+
errors: list[ProblemErrorsItem] | Unset = UNSET
|
|
125
|
+
if _errors is not UNSET:
|
|
126
|
+
errors = []
|
|
127
|
+
for errors_item_data in _errors:
|
|
128
|
+
errors_item = ProblemErrorsItem.from_dict(errors_item_data)
|
|
129
|
+
|
|
130
|
+
errors.append(errors_item)
|
|
131
|
+
|
|
132
|
+
_mfa = d.pop("mfa", UNSET)
|
|
133
|
+
mfa: ProblemMfa | Unset
|
|
134
|
+
if isinstance(_mfa, Unset):
|
|
135
|
+
mfa = UNSET
|
|
136
|
+
else:
|
|
137
|
+
mfa = ProblemMfa.from_dict(_mfa)
|
|
138
|
+
|
|
139
|
+
problem = cls(
|
|
140
|
+
type_=type_,
|
|
141
|
+
title=title,
|
|
142
|
+
status=status,
|
|
143
|
+
detail=detail,
|
|
144
|
+
instance=instance,
|
|
145
|
+
request_id=request_id,
|
|
146
|
+
errors=errors,
|
|
147
|
+
mfa=mfa,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
problem.additional_properties = d
|
|
151
|
+
return problem
|
|
152
|
+
|
|
153
|
+
@property
|
|
154
|
+
def additional_keys(self) -> list[str]:
|
|
155
|
+
return list(self.additional_properties.keys())
|
|
156
|
+
|
|
157
|
+
def __getitem__(self, key: str) -> Any:
|
|
158
|
+
return self.additional_properties[key]
|
|
159
|
+
|
|
160
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
161
|
+
self.additional_properties[key] = value
|
|
162
|
+
|
|
163
|
+
def __delitem__(self, key: str) -> None:
|
|
164
|
+
del self.additional_properties[key]
|
|
165
|
+
|
|
166
|
+
def __contains__(self, key: str) -> bool:
|
|
167
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Mapping
|
|
6
|
+
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
T = TypeVar("T", bound="ProblemErrorsItem")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@_attrs_define
|
|
18
|
+
class ProblemErrorsItem:
|
|
19
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
20
|
+
# taskadence: the response's `ETag` (set by the facade on single reads / writes). Not a property of the resource: it is
|
|
21
|
+
# never serialized by `to_dict` nor read by `from_dict`, and it does not take part in equality.
|
|
22
|
+
etag: str | None = _attrs_field(default=None, init=False, repr=False, eq=False)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
|
|
26
|
+
field_dict: dict[str, Any] = {}
|
|
27
|
+
field_dict.update(self.additional_properties)
|
|
28
|
+
|
|
29
|
+
return field_dict
|
|
30
|
+
|
|
31
|
+
@classmethod
|
|
32
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
33
|
+
d = dict(src_dict)
|
|
34
|
+
problem_errors_item = cls()
|
|
35
|
+
|
|
36
|
+
problem_errors_item.additional_properties = d
|
|
37
|
+
return problem_errors_item
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def additional_keys(self) -> list[str]:
|
|
41
|
+
return list(self.additional_properties.keys())
|
|
42
|
+
|
|
43
|
+
def __getitem__(self, key: str) -> Any:
|
|
44
|
+
return self.additional_properties[key]
|
|
45
|
+
|
|
46
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
47
|
+
self.additional_properties[key] = value
|
|
48
|
+
|
|
49
|
+
def __delitem__(self, key: str) -> None:
|
|
50
|
+
del self.additional_properties[key]
|
|
51
|
+
|
|
52
|
+
def __contains__(self, key: str) -> bool:
|
|
53
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from collections.abc import Mapping
|
|
6
|
+
from typing import Any, TypeVar, BinaryIO, TextIO, TYPE_CHECKING, Generator
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
from ..models.problem_mfa_reason import check_problem_mfa_reason
|
|
14
|
+
from ..models.problem_mfa_reason import ProblemMfaReason
|
|
15
|
+
from ..models.problem_mfa_required_for import check_problem_mfa_required_for
|
|
16
|
+
from ..models.problem_mfa_required_for import ProblemMfaRequiredFor
|
|
17
|
+
from ..types import UNSET, Unset
|
|
18
|
+
from typing import cast
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
T = TypeVar("T", bound="ProblemMfa")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@_attrs_define
|
|
25
|
+
class ProblemMfa:
|
|
26
|
+
"""On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for`
|
|
27
|
+
(`all` or `admins`) and `reason` (`org_policy`: the organization's requirement; `step_up`: this action needs a
|
|
28
|
+
second step)
|
|
29
|
+
|
|
30
|
+
Attributes:
|
|
31
|
+
enrolled (bool | Unset):
|
|
32
|
+
required_for (ProblemMfaRequiredFor | Unset):
|
|
33
|
+
reason (ProblemMfaReason | Unset):
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
enrolled: bool | Unset = UNSET
|
|
37
|
+
required_for: ProblemMfaRequiredFor | Unset = UNSET
|
|
38
|
+
reason: ProblemMfaReason | Unset = UNSET
|
|
39
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
40
|
+
# taskadence: the response's `ETag` (set by the facade on single reads / writes). Not a property of the resource: it is
|
|
41
|
+
# never serialized by `to_dict` nor read by `from_dict`, and it does not take part in equality.
|
|
42
|
+
etag: str | None = _attrs_field(default=None, init=False, repr=False, eq=False)
|
|
43
|
+
|
|
44
|
+
def to_dict(self) -> dict[str, Any]:
|
|
45
|
+
enrolled = self.enrolled
|
|
46
|
+
|
|
47
|
+
required_for: str | Unset = UNSET
|
|
48
|
+
if not isinstance(self.required_for, Unset):
|
|
49
|
+
required_for = self.required_for
|
|
50
|
+
|
|
51
|
+
reason: str | Unset = UNSET
|
|
52
|
+
if not isinstance(self.reason, Unset):
|
|
53
|
+
reason = self.reason
|
|
54
|
+
|
|
55
|
+
field_dict: dict[str, Any] = {}
|
|
56
|
+
field_dict.update(self.additional_properties)
|
|
57
|
+
field_dict.update({})
|
|
58
|
+
if enrolled is not UNSET:
|
|
59
|
+
field_dict["enrolled"] = enrolled
|
|
60
|
+
if required_for is not UNSET:
|
|
61
|
+
field_dict["required_for"] = required_for
|
|
62
|
+
if reason is not UNSET:
|
|
63
|
+
field_dict["reason"] = reason
|
|
64
|
+
|
|
65
|
+
return field_dict
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
69
|
+
d = dict(src_dict)
|
|
70
|
+
enrolled = d.pop("enrolled", UNSET)
|
|
71
|
+
|
|
72
|
+
_required_for = d.pop("required_for", UNSET)
|
|
73
|
+
required_for: ProblemMfaRequiredFor | Unset
|
|
74
|
+
if isinstance(_required_for, Unset):
|
|
75
|
+
required_for = UNSET
|
|
76
|
+
else:
|
|
77
|
+
required_for = check_problem_mfa_required_for(_required_for)
|
|
78
|
+
|
|
79
|
+
_reason = d.pop("reason", UNSET)
|
|
80
|
+
reason: ProblemMfaReason | Unset
|
|
81
|
+
if isinstance(_reason, Unset):
|
|
82
|
+
reason = UNSET
|
|
83
|
+
else:
|
|
84
|
+
reason = check_problem_mfa_reason(_reason)
|
|
85
|
+
|
|
86
|
+
problem_mfa = cls(
|
|
87
|
+
enrolled=enrolled,
|
|
88
|
+
required_for=required_for,
|
|
89
|
+
reason=reason,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
problem_mfa.additional_properties = d
|
|
93
|
+
return problem_mfa
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def additional_keys(self) -> list[str]:
|
|
97
|
+
return list(self.additional_properties.keys())
|
|
98
|
+
|
|
99
|
+
def __getitem__(self, key: str) -> Any:
|
|
100
|
+
return self.additional_properties[key]
|
|
101
|
+
|
|
102
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
103
|
+
self.additional_properties[key] = value
|
|
104
|
+
|
|
105
|
+
def __delitem__(self, key: str) -> None:
|
|
106
|
+
del self.additional_properties[key]
|
|
107
|
+
|
|
108
|
+
def __contains__(self, key: str) -> bool:
|
|
109
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
ProblemMfaReason = Literal["org_policy", "step_up"]
|
|
6
|
+
|
|
7
|
+
PROBLEM_MFA_REASON_VALUES: set[ProblemMfaReason] = {
|
|
8
|
+
"org_policy",
|
|
9
|
+
"step_up",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def check_problem_mfa_reason(value: str) -> ProblemMfaReason:
|
|
14
|
+
if value in PROBLEM_MFA_REASON_VALUES:
|
|
15
|
+
return value
|
|
16
|
+
raise TypeError(f"Unexpected value {value!r}. Expected one of {PROBLEM_MFA_REASON_VALUES!r}")
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# GENERATED by scripts/generate.py from spec/openapi.public.json — DO NOT EDIT BY HAND.
|
|
2
|
+
# Change the spec snapshot (or the generator) and run `python scripts/generate.py`.
|
|
3
|
+
from typing import Literal
|
|
4
|
+
|
|
5
|
+
ProblemMfaRequiredFor = Literal["admins", "all"]
|
|
6
|
+
|
|
7
|
+
PROBLEM_MFA_REQUIRED_FOR_VALUES: set[ProblemMfaRequiredFor] = {
|
|
8
|
+
"admins",
|
|
9
|
+
"all",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def check_problem_mfa_required_for(value: str) -> ProblemMfaRequiredFor:
|
|
14
|
+
if value in PROBLEM_MFA_REQUIRED_FOR_VALUES:
|
|
15
|
+
return value
|
|
16
|
+
raise TypeError(f"Unexpected value {value!r}. Expected one of {PROBLEM_MFA_REQUIRED_FOR_VALUES!r}")
|