use utoipa::OpenApi; use crate::api::auth::regenerate_2fa_backup_codes::{ Regenerate2FABackupCodesRequest, Regenerate2FABackupCodesResponse, }; use crate::api::auth::register::RegisterResponse; use crate::api::issue::lock::LockIssueParams; use crate::api::issue::subscribers::MuteIssueParams; use crate::api::issue::transfer::TransferIssueParams; use crate::api::pr::lock::LockPrParams; use crate::api::pr::subscriptions::MutePrParams; use crate::api::repo::accept_invitation::AcceptInvitationParams; use crate::api::repo::set_branch_protection::SetBranchProtectionParams; use crate::api::repo::transfer_owner::TransferOwnerParams; use crate::api::response::{ApiEmptyResponse, ApiErrorResponse, ApiResponse}; use crate::api::user::upload_avatar::AvatarData; use crate::api::wiki::compare_revisions::WikiCompareResult; use crate::api::workspace::accept_invitation::AcceptInvitationRequest; use crate::api::workspace::review_approval::ReviewApprovalRequest; use crate::api::workspace::transfer_owner::TransferOwnerRequest; use crate::models::base_info::{ ChannelBaseInfo, IssueBaseInfo, PullRequestBaseInfo, RepoBaseInfo, UserBaseInfo, WikiPageBaseInfo, WorkspaceBaseInfo, }; use crate::models::channels::channel::ChannelDetail; use crate::models::issues::issue::IssueDetail; use crate::models::issues::issue_comments::IssueCommentDetail; use crate::models::issues::{ Issue, IssueAssignee, IssueComment, IssueEvent, IssueLabel, IssueLabelRelation, IssueMilestone, IssuePrRelation, IssueReaction, IssueRepoRelation, IssueSubscriber, IssueTemplate, }; use crate::models::notifications::notification::NotificationDetail; use crate::models::notifications::{ Notification, NotificationBlock, NotificationDelivery, NotificationSubscription, NotificationTemplate, }; use crate::models::prs::pr_review::PrReviewDetail; use crate::models::prs::pull_request::PullRequestDetail; use crate::models::prs::{ PrAssignee, PrCheckRun, PrCommit, PrEvent, PrFile, PrLabel, PrLabelRelation, PrMergeStrategy, PrReaction, PrReview, PrReviewComment, PrStatus, PrSubscription, PullRequest, }; use crate::models::repos::repo::RepoDetail; use crate::models::repos::{ BranchProtectionRule, Repo, RepoBranch, RepoCommitComment, RepoCommitStatus, RepoDeployKey, RepoFork, RepoInvitation, RepoMember, RepoRelease, RepoStar, RepoStats, RepoTag, RepoWatch, RepoWebhook, }; use crate::models::users::{ User, UserAppearance, UserBlock, UserDevice, UserFollow, UserGpgKey, UserNotifySetting, UserPresence, UserProfile, UserSecurityLog, UserSshKey, }; use crate::models::wiki::{WikiPage, WikiPageRevision}; use crate::models::workspaces::workspace::WorkspaceDetail; use crate::models::workspaces::{ Workspace, WorkspaceAuditLog, WorkspaceBilling, WorkspaceCustomBranding, WorkspaceDomain, WorkspaceIntegration, WorkspaceInvitation, WorkspaceMember, WorkspacePendingApproval, WorkspaceSettings, WorkspaceStats, WorkspaceWebhook, }; use crate::service::auth::captcha::{CaptchaQuery, CaptchaResponse}; use crate::service::auth::change_password::ChangePasswordParams; use crate::service::auth::email::{EmailChangeRequest, EmailResponse, EmailVerifyRequest}; use crate::service::auth::login::LoginParams; use crate::service::auth::me::ContextMe; use crate::service::auth::register::{ RegisterEmailCodeParams, RegisterEmailCodeResponse, RegisterParams, }; use crate::service::auth::reset_pass::{ResetPasswordRequest, ResetPasswordVerifyParams}; use crate::service::auth::rsa::RsaResponse; use crate::service::auth::totp::{ Disable2FAParams, Enable2FAResponse, Get2FAStatusResponse, Verify2FAParams, }; use crate::service::issues::comments::{CreateCommentParams, UpdateCommentParams}; use crate::service::issues::core::{CreateIssueParams, IssueListFilters, UpdateIssueParams}; use crate::service::issues::labels::{CreateLabelParams, UpdateLabelParams}; use crate::service::issues::milestones::{CreateMilestoneParams, UpdateMilestoneParams}; use crate::service::issues::pr_relations::LinkPrParams; use crate::service::issues::reactions::CreateIssueReactionParams; use crate::service::issues::repo_relations::LinkRepoParams; use crate::service::issues::templates::{CreateTemplateParams, UpdateTemplateParams}; use crate::service::notify::blocks::CreateBlockParams; use crate::service::notify::subscriptions::{CreateSubscriptionParams, UpdateSubscriptionParams}; use crate::service::notify::templates::{ CreateTemplateParams as NotifyCreateTemplateParams, UpdateTemplateParams as NotifyUpdateTemplateParams, }; use crate::service::pr::check_runs::{CreateCheckRunParams, UpdateCheckRunParams}; use crate::service::pr::core::{CreatePrParams, MergePrParams, PrListFilters, UpdatePrParams}; use crate::service::pr::labels::{CreatePrLabelParams, UpdatePrLabelParams}; use crate::service::pr::merge_strategy::UpdateMergeStrategyParams; use crate::service::pr::reactions::CreateReactionParams; use crate::service::pr::reviews::{ AddReplyParams, CreateReviewParams, DismissReviewParams, ReviewCommentParams, SubmitReviewParams, }; use crate::service::repo::branches::CreateBranchParams; use crate::service::repo::commit_status::{CreateCommitCommentParams, CreateCommitStatusParams}; use crate::service::repo::core::{CreateRepoParams, UpdateRepoParams}; use crate::service::repo::deploy_keys::AddDeployKeyParams; use crate::service::repo::fork::ForkRepoParams; use crate::service::repo::invitations::CreateRepoInvitationParams; use crate::service::repo::members::{AddRepoMemberParams, UpdateRepoMemberRoleParams}; use crate::service::repo::protection::{ BranchMergeCheck, CreateProtectionRuleParams, UpdateProtectionRuleParams, }; use crate::service::repo::releases::{CreateReleaseParams, UpdateReleaseParams}; use crate::service::repo::tags::{CreateTagParams, UpdateTagParams}; use crate::service::repo::watches::WatchParams; use crate::service::repo::webhooks::{ CreateWebhookParams as RepoCreateWebhookParams, UpdateWebhookParams as RepoUpdateWebhookParams, }; use crate::service::user::account::UpdateUserAccountParams; use crate::service::user::appearance::UpdateUserAppearanceParams; use crate::service::user::keys::{AddGpgKeyParams, AddSshKeyParams}; use crate::service::user::notify::UpdateUserNotifySettingParams; use crate::service::user::profile::UpdateUserProfileParams; use crate::service::user::security::{ CreatePersonalAccessTokenResponse, UserOAuthInfo, UserPersonalAccessTokenInfo, UserSessionInfo, }; use crate::service::wiki::core::{CreateWikiPageParams, UpdateWikiPageParams}; use crate::service::workspace::approvals::RequestApprovalParams; use crate::service::workspace::billing::UpdateBillingParams; use crate::service::workspace::branding::UpdateBrandingParams; use crate::service::workspace::core::{CreateWorkspaceParams, UpdateWorkspaceParams}; use crate::service::workspace::domains::{AddDomainParams, UpdateDomainParams}; use crate::service::workspace::integrations::{CreateIntegrationParams, UpdateIntegrationParams}; use crate::service::workspace::invitations::{CreateInvitationParams, CreateInvitationResponse}; use crate::service::workspace::members::{AddMemberParams, UpdateMemberRoleParams}; use crate::service::workspace::settings::UpdateWorkspaceSettingsParams; use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookParams}; // IM Channel models use crate::models::channels::{Channel, ChannelCategory, ChannelMember}; // IM Service params use crate::service::im::categories::{CreateCategoryParams, UpdateCategoryParams}; use crate::service::im::channels::{ChannelListFilters, CreateChannelParams, UpdateChannelParams}; use crate::service::im::members::{InviteMemberParams, UpdateMemberParams}; #[derive(OpenApi)] #[openapi( info( title = "AppKS API", version = "0.1.0", description = "AppKS collaborative development platform HTTP API." ), tags( (name = "Auth", description = "Authentication, registration, session and email security endpoints."), (name = "User", description = "User account management, profile, appearance, notification settings, SSH/GPG keys, sessions, devices, OAuth accounts, security logs, and personal access tokens."), (name = "Workspaces", description = "Workspace CRUD, archiving, ownership transfer, and avatar management."), (name = "Repos", description = "Repository management including branches, tags, releases, forks, stars, watches, members, invitations, deploy keys, webhooks, protection rules, commit statuses, and statistics."), (name = "Issues", description = "Issue tracking, comments, labels, milestones, assignees, events, reactions, subscribers, templates, and cross-references."), (name = "Pull Requests", description = "Pull request lifecycle including reviews, check runs, merge strategies, labels, assignees, events, reactions, and subscriptions."), (name = "Wiki", description = "Wiki page management including CRUD operations, revision history, version comparison, and page reversion."), (name = "Notifications", description = "User notification management including listing, reading, dismissing, deleting, subscriptions, blocks, deliveries, and templates."), (name = "Git", description = "Git-level operations including commits, branches, merges, rebase, blame, tree, blob, tags, and repository health/statistics endpoints."), (name = "IM", description = "Channel management, member administration, and category organization."), ), paths( // Auth crate::api::auth::rsa::handle, crate::api::auth::captcha::handle, crate::api::auth::login::handle, crate::api::auth::logout::handle, crate::api::auth::me::handle, crate::api::auth::register_email_code::handle, crate::api::auth::register::handle, crate::api::auth::get_email::handle, crate::api::auth::request_email_change::handle, crate::api::auth::verify_email::handle, crate::api::auth::request_reset_password::handle, crate::api::auth::verify_reset_password::handle, crate::api::auth::get_2fa_status::handle, crate::api::auth::enable_2fa::handle, crate::api::auth::verify_2fa::handle, crate::api::auth::disable_2fa::handle, crate::api::auth::regenerate_2fa_backup_codes::handle, crate::api::auth::change_password::change_password, // User crate::api::user::get_account::get_account, crate::api::user::update_account::update_account, crate::api::user::upload_avatar::upload_avatar, crate::api::user::delete_account::delete_account, crate::api::user::get_appearance::get_appearance, crate::api::user::update_appearance::update_appearance, crate::api::user::get_profile::get_profile, crate::api::user::update_profile::update_profile, crate::api::user::get_notifications::get_notifications, crate::api::user::update_notifications::update_notifications, crate::api::user::list_ssh_keys::list_ssh_keys, crate::api::user::add_ssh_key::add_ssh_key, crate::api::user::delete_ssh_key::delete_ssh_key, crate::api::user::list_gpg_keys::list_gpg_keys, crate::api::user::add_gpg_key::add_gpg_key, crate::api::user::delete_gpg_key::delete_gpg_key, crate::api::user::list_sessions::list_sessions, crate::api::user::revoke_session::revoke_session, crate::api::user::list_devices::list_devices, crate::api::user::delete_device::delete_device, crate::api::user::list_oauth_accounts::list_oauth_accounts, crate::api::user::unlink_oauth::unlink_oauth, crate::api::user::list_security_logs::list_security_logs, crate::api::user::list_personal_access_tokens::list_tokens, crate::api::user::revoke_personal_access_token::revoke_token, crate::api::user::create_personal_access_token::create_token, crate::api::user::get_presence::get_presence, crate::api::user::update_presence::update_presence, crate::api::user::list_blocks::list_blocks, crate::api::user::block_user::block_user, crate::api::user::unblock_user::unblock_user, crate::api::user::list_follows::list_follows, crate::api::user::follow_user::follow_user, crate::api::user::unfollow_user::unfollow_user, // Issues crate::api::issue::list::list, crate::api::issue::get::get, crate::api::issue::create::create, crate::api::issue::update::update, crate::api::issue::close::close, crate::api::issue::reopen::reopen, crate::api::issue::delete::delete, crate::api::issue::lock::lock, crate::api::issue::transfer::transfer, crate::api::issue::list_comments::list_comments, crate::api::issue::create_comment::create_comment, crate::api::issue::update_comment::update_comment, crate::api::issue::delete_comment::delete_comment, crate::api::issue::list_labels::list_labels, crate::api::issue::create_label::create_label, crate::api::issue::update_label::update_label, crate::api::issue::delete_label::delete_label, crate::api::issue::list_issue_labels::list_issue_labels, crate::api::issue::assign_label::assign_label, crate::api::issue::unassign_label::unassign_label, crate::api::issue::list_milestones::list_milestones, crate::api::issue::create_milestone::create_milestone, crate::api::issue::update_milestone::update_milestone, crate::api::issue::delete_milestone::delete_milestone, crate::api::issue::list_assignees::list_assignees, crate::api::issue::assign_issue::assign_issue, crate::api::issue::unassign_issue::unassign_issue, crate::api::issue::list_events::list_events, crate::api::issue::reactions::list_reactions, crate::api::issue::reactions::add_reaction, crate::api::issue::reactions::remove_reaction, crate::api::issue::subscribers::list_subscribers, crate::api::issue::subscribers::subscribe, crate::api::issue::subscribers::unsubscribe, crate::api::issue::subscribers::mute, crate::api::issue::templates::list_templates, crate::api::issue::templates::create_template, crate::api::issue::templates::update_template, crate::api::issue::templates::delete_template, crate::api::issue::repo_relations::list_repo_relations, crate::api::issue::repo_relations::link_repo, crate::api::issue::repo_relations::unlink_repo, crate::api::issue::pr_relations::list_pr_relations, crate::api::issue::pr_relations::link_pr, crate::api::issue::pr_relations::unlink_pr, // Pull Requests - Core crate::api::pr::list::list, crate::api::pr::get::get, crate::api::pr::create::create, crate::api::pr::update::update, crate::api::pr::mark_ready::mark_ready, crate::api::pr::close::close, crate::api::pr::reopen::reopen, crate::api::pr::delete::delete, crate::api::pr::lock::lock, crate::api::pr::merge::merge, // Pull Requests - Commits & Files crate::api::pr::list_commits::list_commits, crate::api::pr::list_files::list_files, crate::api::pr::get_status::get_status, crate::api::pr::merge_strategy::get_merge_strategy, crate::api::pr::merge_strategy::update_merge_strategy, crate::api::pr::labels::list_labels, crate::api::pr::labels::create_label, crate::api::pr::labels::update_label, crate::api::pr::labels::delete_label, crate::api::pr::labels::list_label_relations, crate::api::pr::labels::assign_label, crate::api::pr::labels::unassign_label, crate::api::pr::assignees::list_assignees, crate::api::pr::assignees::assign_user, crate::api::pr::assignees::unassign_user, crate::api::pr::reviews::list_reviews, crate::api::pr::reviews::create_review, crate::api::pr::reviews::submit_review, crate::api::pr::reviews::dismiss_review, crate::api::pr::reviews::list_review_comments, crate::api::pr::reviews::add_review_reply, crate::api::pr::reviews::update_review_comment, crate::api::pr::reviews::delete_review_comment, crate::api::pr::check_runs::list_check_runs, crate::api::pr::check_runs::create_check_run, crate::api::pr::check_runs::update_check_run, crate::api::pr::check_runs::delete_check_run, crate::api::pr::events::list_events, crate::api::pr::reactions::list_reactions, crate::api::pr::reactions::add_reaction, crate::api::pr::reactions::remove_reaction, crate::api::pr::subscriptions::list_subscriptions, crate::api::pr::subscriptions::subscribe, crate::api::pr::subscriptions::unsubscribe, crate::api::pr::subscriptions::mute, crate::api::wiki::list_pages::list_pages, crate::api::wiki::get_page::get_page, crate::api::wiki::create_page::create_page, crate::api::wiki::update_page::update_page, crate::api::wiki::delete_page::delete_page, crate::api::wiki::revert_page::revert_page, crate::api::wiki::list_revisions::list_revisions, crate::api::wiki::get_revision::get_revision, crate::api::wiki::compare_revisions::compare_revisions, crate::api::notify::list_notifications::list_notifications, crate::api::notify::get_unread_count::get_unread_count, crate::api::notify::mark_as_read::mark_as_read, crate::api::notify::mark_all_as_read::mark_all_as_read, crate::api::notify::dismiss_notification::dismiss_notification, crate::api::notify::delete_notification::delete_notification, crate::api::notify::clear_all_notifications::clear_all_notifications, crate::api::notify::list_subscriptions::list_subscriptions, crate::api::notify::create_subscription::create_subscription, crate::api::notify::update_subscription::update_subscription, crate::api::notify::delete_subscription::delete_subscription, crate::api::notify::list_blocks::list_blocks, crate::api::notify::create_block::create_block, crate::api::notify::delete_block::delete_block, crate::api::notify::list_deliveries::list_deliveries, crate::api::notify::list_deliveries_for_notification::list_deliveries_for_notification, crate::api::notify::list_templates::list_templates, crate::api::notify::get_template::get_template, crate::api::notify::create_template::create_template, crate::api::notify::update_template::update_template, crate::api::notify::delete_template::delete_template, crate::api::workspace::list::handle, crate::api::workspace::get::handle, crate::api::workspace::create::handle, crate::api::workspace::update::handle, crate::api::workspace::archive::handle, crate::api::workspace::unarchive::handle, crate::api::workspace::delete::handle, crate::api::workspace::transfer_owner::handle, crate::api::workspace::upload_avatar::handle, crate::api::workspace::list_members::handle, crate::api::workspace::add_member::handle, crate::api::workspace::update_member_role::handle, crate::api::workspace::remove_member::handle, crate::api::workspace::leave::handle, crate::api::workspace::list_invitations::handle, crate::api::workspace::create_invitation::handle, crate::api::workspace::revoke_invitation::handle, crate::api::workspace::accept_invitation::handle, crate::api::workspace::get_billing::handle, crate::api::workspace::update_billing::handle, crate::api::workspace::get_branding::handle, crate::api::workspace::update_branding::handle, crate::api::workspace::get_settings::handle, crate::api::workspace::update_settings::handle, crate::api::workspace::get_stats::handle, crate::api::workspace::refresh_stats::handle, crate::api::workspace::list_integrations::handle, crate::api::workspace::create_integration::handle, crate::api::workspace::update_integration::handle, crate::api::workspace::delete_integration::handle, crate::api::workspace::list_webhooks::handle, crate::api::workspace::create_webhook::handle, crate::api::workspace::update_webhook::handle, crate::api::workspace::delete_webhook::handle, crate::api::workspace::list_domains::handle, crate::api::workspace::add_domain::handle, crate::api::workspace::verify_domain::handle, crate::api::workspace::set_primary_domain::handle, crate::api::workspace::delete_domain::handle, crate::api::workspace::list_approvals::handle, crate::api::workspace::request_approval::handle, crate::api::workspace::review_approval::handle, crate::api::workspace::audit_logs::handle, crate::api::workspace::restore::restore_workspace, crate::api::workspace::billing_history::billing_history, crate::api::workspace::list_webhook_deliveries::handle, crate::api::workspace::retry_webhook_delivery::handle, crate::api::workspace::update_domain::update_domain, crate::api::workspace::get_member::handle, crate::api::workspace::get_invitation::handle, crate::api::workspace::get_webhook::handle, crate::api::workspace::get_integration::handle, crate::api::workspace::get_domain::handle, crate::api::workspace::get_approval::handle, crate::api::repo::list::list, crate::api::repo::get::get, crate::api::repo::create::create, crate::api::repo::update::update, crate::api::repo::archive::archive, crate::api::repo::unarchive::unarchive, crate::api::repo::delete::delete, crate::api::repo::transfer_owner::transfer_owner, crate::api::repo::list_branches::list_branches, crate::api::repo::create_branch::create_branch, crate::api::repo::set_default_branch::set_default_branch, crate::api::repo::set_branch_protection::set_branch_protection, crate::api::repo::delete_branch::delete_branch, crate::api::repo::list_tags::list_tags, crate::api::repo::create_tag::create_tag, crate::api::repo::delete_tag::delete_tag, crate::api::repo::list_releases::list_releases, crate::api::repo::create_release::create_release, crate::api::repo::update_release::update_release, crate::api::repo::delete_release::delete_release, crate::api::repo::list_forks::list_forks, crate::api::repo::fork_repo::fork_repo, crate::api::repo::sync_fork::sync_fork, crate::api::repo::star_repo::star_repo, crate::api::repo::unstar_repo::unstar_repo, crate::api::repo::list_stargazers::list_stargazers, crate::api::repo::watch_repo::watch_repo, crate::api::repo::unwatch_repo::unwatch_repo, crate::api::repo::list_watchers::list_watchers, crate::api::repo::list_members::list_members, crate::api::repo::add_member::add_member, crate::api::repo::update_member_role::update_member_role, crate::api::repo::remove_member::remove_member, crate::api::repo::leave_repo::leave_repo, crate::api::repo::list_invitations::list_invitations, crate::api::repo::create_invitation::create_invitation, crate::api::repo::revoke_invitation::revoke_invitation, crate::api::repo::accept_invitation::accept_invitation, crate::api::repo::list_deploy_keys::list_deploy_keys, crate::api::repo::add_deploy_key::add_deploy_key, crate::api::repo::delete_deploy_key::delete_deploy_key, crate::api::repo::list_webhooks::list_webhooks, crate::api::repo::create_webhook::create_webhook, crate::api::repo::update_webhook::update_webhook, crate::api::repo::delete_webhook::delete_webhook, crate::api::repo::list_protection_rules::list_protection_rules, crate::api::repo::get_protection_rule::get_protection_rule, crate::api::repo::match_protection::match_protection, crate::api::repo::create_protection_rule::create_protection_rule, crate::api::repo::update_protection_rule::update_protection_rule, crate::api::repo::delete_protection_rule::delete_protection_rule, crate::api::repo::check_branch_merge::check_branch_merge, crate::api::repo::list_commit_statuses::list_commit_statuses, crate::api::repo::create_commit_status::create_commit_status, crate::api::repo::list_commit_comments::list_commit_comments, crate::api::repo::create_commit_comment::create_commit_comment, crate::api::repo::resolve_commit_comment::resolve_commit_comment, crate::api::repo::get_stats::get_stats, crate::api::repo::refresh_stats::refresh_stats, crate::api::repo::get_branch::get_branch, crate::api::repo::get_tag::get_tag, crate::api::repo::get_release::get_release, crate::api::repo::get_webhook::get_webhook, crate::api::repo::get_deploy_key::get_deploy_key, crate::api::repo::get_member::get_member, crate::api::repo::get_invitation::get_invitation, crate::api::repo::update_commit_comment::update_commit_comment, crate::api::repo::update_tag::update_tag, crate::api::repo::delete_fork::delete_fork, crate::api::repo::get_commit_status::get_commit_status, crate::api::repo::repo_webhook_deliveries::repo_webhook_deliveries, crate::api::repo::repo_webhook_retry::repo_webhook_retry, crate::api::repo::git::git_list_commits::git_list_commits, crate::api::repo::git::git_get_commit::git_get_commit, crate::api::repo::git::git_create_commit::git_create_commit, crate::api::repo::git::git_diff::git_diff, crate::api::repo::git::git_diff_stats::git_diff_stats, crate::api::repo::git::git_compare::git_compare, crate::api::repo::git::git_list_branches::git_list_branches, crate::api::repo::git::git_get_branch::git_get_branch, crate::api::repo::git::git_create_branch::git_create_branch, crate::api::repo::git::git_delete_branch::git_delete_branch, crate::api::repo::git::git_merge_check::git_merge_check, crate::api::repo::git::git_merge::git_merge, crate::api::repo::git::git_rebase::git_rebase, crate::api::repo::git::git_cherry_pick::git_cherry_pick, crate::api::repo::git::git_revert::git_revert, crate::api::repo::git::git_conflicts::git_conflicts, crate::api::repo::git::git_tree::git_tree, crate::api::repo::git::git_blob::git_blob, crate::api::repo::git::git_blame::git_blame, crate::api::repo::git::git_tags::git_tags, crate::api::repo::git::git_create_tag::git_create_tag, crate::api::repo::git::git_delete_tag::git_delete_tag, crate::api::repo::git::git_info::git_info, crate::api::repo::git::git_exists::git_exists, crate::api::repo::git::git_stats::git_stats, crate::api::repo::git::git_health::git_health, crate::api::repo::git::git_gc::git_gc, crate::api::im::channel_list::channel_list, crate::api::im::channel_create::channel_create, crate::api::im::channel_get::channel_get, crate::api::im::channel_update::channel_update, crate::api::im::channel_delete::channel_delete, crate::api::im::member_list::member_list, crate::api::im::member_invite::member_invite, crate::api::im::member_update::member_update, crate::api::im::member_kick::member_kick, crate::api::im::member_join::member_join, crate::api::im::member_leave::member_leave, crate::api::im::category_list::category_list, crate::api::im::category_create::category_create, crate::api::im::category_update::category_update, crate::api::im::category_delete::category_delete, ), components(schemas( ApiEmptyResponse, ApiErrorResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, RsaResponse, CaptchaQuery, CaptchaResponse, LoginParams, ContextMe, RegisterEmailCodeParams, RegisterEmailCodeResponse, RegisterParams, RegisterResponse, EmailResponse, EmailChangeRequest, EmailVerifyRequest, ResetPasswordRequest, ResetPasswordVerifyParams, Get2FAStatusResponse, Enable2FAResponse, Verify2FAParams, Disable2FAParams, Regenerate2FABackupCodesRequest, Regenerate2FABackupCodesResponse, // User ApiResponse, ApiResponse, ApiResponse, User, UpdateUserAccountParams, AvatarData, ApiResponse, UserAppearance, UpdateUserAppearanceParams, ApiResponse, UserProfile, UpdateUserProfileParams, ApiResponse, UserNotifySetting, UpdateUserNotifySettingParams, ApiResponse, ApiResponse>, UserSshKey, AddSshKeyParams, ApiResponse, ApiResponse>, UserGpgKey, AddGpgKeyParams, ApiResponse, ApiResponse>, UserSessionInfo, ApiResponse, ApiResponse>, UserDevice, ApiResponse, ApiResponse>, UserOAuthInfo, ApiResponse, ApiResponse>, UserSecurityLog, ApiResponse, ApiResponse>, UserPersonalAccessTokenInfo, // Issues ApiResponse, ApiResponse>, Issue, CreateIssueParams, IssueListFilters, UpdateIssueParams, LockIssueParams, TransferIssueParams, ApiResponse, ApiResponse>, IssueComment, CreateCommentParams, UpdateCommentParams, ApiResponse, ApiResponse>, IssueLabel, CreateLabelParams, UpdateLabelParams, ApiResponse, ApiResponse>, IssueLabelRelation, ApiResponse, ApiResponse>, IssueMilestone, CreateMilestoneParams, UpdateMilestoneParams, ApiResponse, ApiResponse>, IssueAssignee, ApiResponse, ApiResponse>, IssueEvent, ApiResponse, ApiResponse>, IssueReaction, CreateIssueReactionParams, ApiResponse, ApiResponse>, IssueSubscriber, MuteIssueParams, ApiResponse, ApiResponse>, IssueTemplate, CreateTemplateParams, UpdateTemplateParams, ApiResponse, ApiResponse>, IssueRepoRelation, LinkRepoParams, ApiResponse, ApiResponse>, IssuePrRelation, LinkPrParams, // Pull Requests ApiResponse, ApiResponse>, PullRequest, CreatePrParams, UpdatePrParams, PrListFilters, MergePrParams, LockPrParams, ApiResponse, ApiResponse>, PrCommit, ApiResponse, ApiResponse>, PrFile, ApiResponse, PrStatus, ApiResponse, PrMergeStrategy, UpdateMergeStrategyParams, ApiResponse, ApiResponse>, PrLabel, CreatePrLabelParams, UpdatePrLabelParams, ApiResponse, ApiResponse>, PrLabelRelation, ApiResponse, ApiResponse>, PrAssignee, ApiResponse, ApiResponse>, PrReview, CreateReviewParams, ReviewCommentParams, SubmitReviewParams, DismissReviewParams, AddReplyParams, ApiResponse, ApiResponse>, PrReviewComment, ApiResponse, ApiResponse>, PrCheckRun, CreateCheckRunParams, UpdateCheckRunParams, ApiResponse, ApiResponse>, PrEvent, ApiResponse, ApiResponse>, PrReaction, CreateReactionParams, ApiResponse, ApiResponse>, PrSubscription, MutePrParams, // Wiki ApiResponse, ApiResponse>, WikiPage, CreateWikiPageParams, UpdateWikiPageParams, ApiResponse, ApiResponse>, ApiResponse, WikiCompareResult, WikiPageRevision, // Workspaces ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse>, Workspace, CreateWorkspaceParams, UpdateWorkspaceParams, TransferOwnerRequest, WorkspaceMember, AddMemberParams, UpdateMemberRoleParams, WorkspaceInvitation, CreateInvitationParams, CreateInvitationResponse, AcceptInvitationRequest, WorkspaceBilling, UpdateBillingParams, WorkspaceCustomBranding, UpdateBrandingParams, WorkspaceSettings, UpdateWorkspaceSettingsParams, WorkspaceStats, WorkspaceIntegration, CreateIntegrationParams, UpdateIntegrationParams, WorkspaceWebhook, CreateWebhookParams, UpdateWebhookParams, WorkspaceDomain, AddDomainParams, WorkspacePendingApproval, RequestApprovalParams, ReviewApprovalRequest, WorkspaceAuditLog, // Repos ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse>, ApiResponse, ApiResponse, ApiResponse>, ApiResponse, ApiResponse>, ApiResponse, Repo, CreateRepoParams, UpdateRepoParams, TransferOwnerParams, RepoBranch, CreateBranchParams, SetBranchProtectionParams, RepoTag, CreateTagParams, RepoRelease, CreateReleaseParams, UpdateReleaseParams, RepoFork, ForkRepoParams, RepoStar, RepoWatch, WatchParams, RepoMember, AddRepoMemberParams, UpdateRepoMemberRoleParams, RepoInvitation, CreateRepoInvitationParams, AcceptInvitationParams, RepoDeployKey, AddDeployKeyParams, RepoWebhook, RepoCreateWebhookParams, RepoUpdateWebhookParams, BranchProtectionRule, CreateProtectionRuleParams, UpdateProtectionRuleParams, BranchMergeCheck, RepoCommitStatus, CreateCommitStatusParams, RepoCommitComment, CreateCommitCommentParams, RepoStats, // Notifications ApiResponse, ApiResponse>, Notification, ApiResponse, ApiResponse, ApiResponse>, NotificationSubscription, CreateSubscriptionParams, UpdateSubscriptionParams, ApiResponse, ApiResponse>, NotificationBlock, CreateBlockParams, ApiResponse, ApiResponse>, NotificationDelivery, ApiResponse, ApiResponse>, NotificationTemplate, NotifyCreateTemplateParams, NotifyUpdateTemplateParams, // Auth additions ChangePasswordParams, // User additions - Presence/Block/Follow ApiResponse, UserPresence, ApiResponse, ApiResponse>, UserBlock, ApiResponse, ApiResponse>, UserFollow, ApiResponse, CreatePersonalAccessTokenResponse, // Workspace additions UpdateDomainParams, // Repo additions UpdateTagParams, // IM - Channels ApiResponse, ApiResponse>, Channel, CreateChannelParams, UpdateChannelParams, ChannelListFilters, // IM - Members ApiResponse, ApiResponse>, ChannelMember, InviteMemberParams, UpdateMemberParams, // IM - Categories ApiResponse, ApiResponse>, ChannelCategory, CreateCategoryParams, UpdateCategoryParams, // BaseInfo types UserBaseInfo, WorkspaceBaseInfo, RepoBaseInfo, ChannelBaseInfo, IssueBaseInfo, PullRequestBaseInfo, WikiPageBaseInfo, // Detail types ApiResponse, ApiResponse>, RepoDetail, ApiResponse, ApiResponse>, WorkspaceDetail, ApiResponse, ApiResponse>, ChannelDetail, ApiResponse, ApiResponse>, IssueDetail, ApiResponse, ApiResponse>, IssueCommentDetail, ApiResponse, ApiResponse>, PullRequestDetail, ApiResponse, ApiResponse>, PrReviewDetail, ApiResponse, ApiResponse>, NotificationDetail, )) )] pub struct OpenApiDoc;