gitdataai/libs/api/openapi.rs
2026-04-15 09:08:09 +08:00

715 lines
35 KiB
Rust

#![allow(unused_imports, dead_code)]
//! OpenAPI 3.0 specification for the entire API surface.
//!
//! This module aggregates all `#[utoipa::path]` annotated handlers from every
//! API module and all `#[derive(utoipa::ToSchema)]` types used in request /
//! response bodies, so that `utoipa` can produce a single `openapi.json`.
use utoipa::OpenApi;
// Pull request query type defined in api::pull_request
// Room query types defined in api::room
#[derive(OpenApi)]
#[openapi(
paths(
// Auth
crate::auth::login::api_auth_login,
crate::auth::register::api_auth_register,
crate::auth::logout::api_auth_logout,
crate::auth::captcha::api_auth_captcha,
crate::auth::me::api_auth_me,
crate::auth::password::api_user_change_password,
crate::auth::password::api_user_request_password_reset,
crate::auth::totp::api_2fa_enable,
crate::auth::totp::api_2fa_verify,
crate::auth::totp::api_2fa_disable,
crate::auth::totp::api_2fa_status,
crate::auth::email::api_email_get,
crate::auth::email::api_email_change,
crate::auth::email::api_email_verify,
// Agent
// Agent
crate::agent::code_review::trigger_code_review,
crate::agent::pr_summary::generate_pr_description,
crate::agent::provider::provider_list,
crate::agent::provider::provider_get,
crate::agent::provider::provider_create,
crate::agent::provider::provider_update,
crate::agent::provider::provider_delete,
crate::agent::model::model_list,
crate::agent::model::model_get,
crate::agent::model::model_create,
crate::agent::model::model_update,
crate::agent::model::model_delete,
crate::agent::model_version::model_version_list,
crate::agent::model_version::model_version_get,
crate::agent::model_version::model_version_create,
crate::agent::model_version::model_version_update,
crate::agent::model_version::model_version_delete,
crate::agent::model_pricing::model_pricing_list,
crate::agent::model_pricing::model_pricing_get,
crate::agent::model_pricing::model_pricing_create,
crate::agent::model_pricing::model_pricing_update,
crate::agent::model_pricing::model_pricing_delete,
crate::agent::model_capability::model_capability_list,
crate::agent::model_capability::model_capability_get,
crate::agent::model_capability::model_capability_create,
crate::agent::model_capability::model_capability_update,
crate::agent::model_capability::model_capability_delete,
crate::agent::model_parameter_profile::model_parameter_profile_list,
crate::agent::model_parameter_profile::model_parameter_profile_get,
crate::agent::model_parameter_profile::model_parameter_profile_create,
crate::agent::model_parameter_profile::model_parameter_profile_update,
crate::agent::model_parameter_profile::model_parameter_profile_delete,
// Git init (top-level)
crate::git::init::git_init_bare,
crate::git::init::git_open,
crate::git::init::git_open_workdir,
crate::git::init::git_is_repo,
// Git archive
crate::git::archive::git_archive,
crate::git::archive::git_archive_list,
crate::git::archive::git_archive_summary,
crate::git::archive::git_archive_cached,
crate::git::archive::git_archive_invalidate,
crate::git::archive::git_archive_invalidate_all,
// Git blame
crate::git::blame::git_blame_file,
// Git blob
crate::git::blob::git_readme,
crate::git::blob::git_blob_create,
crate::git::blob::git_blob_get,
crate::git::blob::git_blob_exists,
crate::git::blob::git_blob_is_binary,
crate::git::blob::git_blob_content,
crate::git::blob::git_blob_size,
// Git branch
crate::git::branch::git_branch_list,
crate::git::branch::git_branch_summary,
crate::git::branch::git_branch_create,
crate::git::branch::git_branch_get,
crate::git::branch::git_branch_delete,
crate::git::branch::git_branch_current,
crate::git::branch::git_branch_exists,
crate::git::branch::git_branch_is_head,
crate::git::branch::git_branch_upstream,
crate::git::branch::git_branch_tracking_difference,
crate::git::branch::git_branch_delete_remote,
crate::git::branch::git_branch_rename,
crate::git::branch::git_branch_move,
crate::git::branch::git_branch_set_upstream,
crate::git::branch::git_branch_diff,
crate::git::branch::git_branch_is_detached,
crate::git::branch::git_branch_is_merged,
crate::git::branch::git_branch_merge_base,
crate::git::branch::git_branch_is_ancestor,
crate::git::branch::git_branch_fast_forward,
crate::git::branch::git_branch_is_conflicted,
// Git commit
crate::git::commit::git_commit_log,
crate::git::commit::git_commit_count,
crate::git::commit::git_commit_create,
crate::git::commit::git_commit_graph,
crate::git::commit::git_commit_graph_react,
crate::git::commit::git_commit_walk,
crate::git::commit::git_commit_resolve_rev,
crate::git::commit::git_commit_get,
crate::git::commit::git_commit_amend,
crate::git::commit::git_commit_exists,
crate::git::commit::git_commit_is_commit,
crate::git::commit::git_commit_message,
crate::git::commit::git_commit_summary,
crate::git::commit::git_commit_short_id,
crate::git::commit::git_commit_author,
crate::git::commit::git_commit_tree_id,
crate::git::commit::git_commit_parent_count,
crate::git::commit::git_commit_parent_ids,
crate::git::commit::git_commit_parent,
crate::git::commit::git_commit_first_parent,
crate::git::commit::git_commit_is_merge,
crate::git::commit::git_commit_refs,
crate::git::commit::git_commit_branches,
crate::git::commit::git_commit_tags,
crate::git::commit::git_commit_is_tip,
crate::git::commit::git_commit_ref_count,
crate::git::commit::git_commit_reflog,
crate::git::commit::git_commit_ancestors,
crate::git::commit::git_commit_descendants,
crate::git::commit::git_commit_cherry_pick,
crate::git::commit::git_commit_cherry_pick_abort,
crate::git::commit::git_commit_revert,
crate::git::commit::git_commit_revert_abort,
// Git contributors
crate::git::contributors::git_contributors,
// Git diff
crate::git::diff::git_diff_tree_to_tree,
crate::git::diff::git_diff_commit_to_workdir,
crate::git::diff::git_diff_commit_to_index,
crate::git::diff::git_diff_workdir_to_index,
crate::git::diff::git_diff_index_to_tree,
crate::git::diff::git_diff_stats,
crate::git::diff::git_diff_patch_id,
crate::git::diff::git_diff_side_by_side,
// Git refs
crate::git::refs::git_ref_list,
crate::git::refs::git_ref_create,
crate::git::refs::git_ref_get,
crate::git::refs::git_ref_delete,
crate::git::refs::git_ref_rename,
crate::git::refs::git_ref_update,
crate::git::refs::git_ref_exists,
crate::git::refs::git_ref_target,
// Git repo
crate::git::repo::git_description_get,
crate::git::repo::git_description_set,
crate::git::repo::git_description_reset,
crate::git::repo::git_description_exists,
crate::git::repo::git_update_repo,
crate::git::repo::git_config_entries,
crate::git::repo::git_config_get,
crate::git::repo::git_config_set,
crate::git::repo::git_config_delete,
crate::git::repo::git_config_has,
crate::git::repo::git_merge_analysis,
crate::git::repo::git_merge_analysis_for_ref,
crate::git::repo::git_merge_base,
crate::git::repo::git_merge_commits,
crate::git::repo::git_merge_trees,
crate::git::repo::git_merge_abort,
crate::git::repo::git_merge_is_in_progress,
crate::git::repo::git_mergehead_list,
crate::git::repo::git_merge_is_conflicted,
// Git star
crate::git::star::git_star,
crate::git::star::git_unstar,
crate::git::star::git_is_starred,
crate::git::star::git_star_count,
crate::git::star::git_star_user_list,
// Git branch protection
crate::git::branch_protection::branch_protection_list,
crate::git::branch_protection::branch_protection_get,
crate::git::branch_protection::branch_protection_create,
crate::git::branch_protection::branch_protection_update,
crate::git::branch_protection::branch_protection_delete,
crate::git::branch_protection::branch_protection_check_approvals,
// Git tag
crate::git::tag::git_tag_list,
crate::git::tag::git_tag_list_names,
crate::git::tag::git_tag_summary,
crate::git::tag::git_tag_count,
crate::git::tag::git_tag_create,
crate::git::tag::git_tag_create_lightweight,
crate::git::tag::git_tag_rename,
crate::git::tag::git_tag_update_message,
crate::git::tag::git_tag_get,
crate::git::tag::git_tag_delete,
crate::git::tag::git_tag_exists,
crate::git::tag::git_tag_target,
crate::git::tag::git_tag_is_annotated,
crate::git::tag::git_tag_message,
crate::git::tag::git_tag_tagger,
// Git tree
crate::git::tree::git_tree_get,
crate::git::tree::git_tree_exists,
crate::git::tree::git_tree_list,
crate::git::tree::git_tree_entry,
crate::git::tree::git_tree_entry_by_path,
crate::git::tree::git_tree_entry_by_commit_path,
crate::git::tree::git_tree_entry_count,
crate::git::tree::git_tree_is_empty,
crate::git::tree::git_tree_diffstats,
// Git watch
crate::git::watch::git_watch,
crate::git::watch::git_unwatch,
crate::git::watch::git_is_watched,
crate::git::watch::git_watch_count,
crate::git::watch::git_watch_user_list,
// Git webhook
crate::git::webhook::git_webhook_list,
crate::git::webhook::git_webhook_create,
crate::git::webhook::git_webhook_get,
crate::git::webhook::git_webhook_update,
crate::git::webhook::git_webhook_delete,
// Issue
crate::issue::issue_list,
crate::issue::issue_get,
crate::issue::issue_create,
crate::issue::issue_update,
crate::issue::issue_close,
crate::issue::issue_reopen,
crate::issue::issue_delete,
crate::issue::issue_summary,
crate::issue::issue_label::issue_label_list,
crate::issue::issue_label::issue_label_add,
crate::issue::issue_label::issue_label_remove,
crate::issue::label::label_list,
crate::issue::label::label_create,
crate::issue::label::label_delete,
crate::issue::comment::issue_comment_list,
crate::issue::comment::issue_comment_get,
crate::issue::comment::issue_comment_create,
crate::issue::comment::issue_comment_update,
crate::issue::comment::issue_comment_delete,
crate::issue::comment_reaction::issue_comment_reaction_list,
crate::issue::comment_reaction::issue_comment_reaction_add,
crate::issue::comment_reaction::issue_comment_reaction_remove,
crate::issue::assignee::issue_assignee_list,
crate::issue::assignee::issue_assignee_add,
crate::issue::assignee::issue_assignee_remove,
crate::issue::subscriber::issue_subscriber_list,
crate::issue::subscriber::issue_subscribe,
crate::issue::subscriber::issue_unsubscribe,
crate::issue::reaction::issue_reaction_list,
crate::issue::reaction::issue_reaction_add,
crate::issue::reaction::issue_reaction_remove,
crate::issue::repo::issue_repo_list,
crate::issue::repo::issue_repo_link,
crate::issue::repo::issue_repo_unlink,
crate::issue::pull_request::issue_pull_request_list,
crate::issue::pull_request::issue_pull_request_link,
crate::issue::pull_request::issue_pull_request_unlink,
// Project
crate::project::init::project_create,
crate::project::info::project_info,
crate::project::repo::project_repos,
crate::project::repo::project_repo_create,
crate::project::members::project_members,
crate::project::members::project_update_member_role,
crate::project::members::project_remove_member,
crate::project::labels::project_labels,
crate::project::labels::project_create_label,
crate::project::labels::project_get_label,
crate::project::labels::project_update_label,
crate::project::labels::project_delete_label,
crate::project::like::project_like,
crate::project::like::project_unlike,
crate::project::like::project_is_like,
crate::project::like::project_likes_count,
crate::project::like::project_like_users,
crate::project::watch::project_watch,
crate::project::watch::project_unwatch,
crate::project::watch::project_is_watch,
crate::project::watch::project_watches_count,
crate::project::watch::project_watch_users,
// Boards
crate::project::board::board_list,
crate::project::board::board_get,
crate::project::board::board_create,
crate::project::board::board_update,
crate::project::board::board_delete,
crate::project::board::column_create,
crate::project::board::column_update,
crate::project::board::column_delete,
crate::project::board::card_create,
crate::project::board::card_update,
crate::project::board::card_move,
crate::project::board::card_delete,
crate::project::settings::project_exchange_name,
crate::project::settings::project_exchange_visibility,
crate::project::settings::project_exchange_title,
crate::project::audit::project_audit_logs,
crate::project::audit::project_audit_log,
crate::project::audit::project_log_audit,
crate::project::activity::project_activities,
crate::project::activity::project_log_activity,
crate::project::billing::project_billing,
crate::project::billing::project_billing_history,
crate::project::invitation::project_my_invitations,
crate::project::invitation::project_invitations,
crate::project::invitation::project_invite_user,
crate::project::invitation::project_accept_invitation,
crate::project::invitation::project_reject_invitation,
crate::project::invitation::project_cancel_invitation,
crate::project::join_settings::project_join_settings,
crate::project::join_settings::project_update_join_settings,
crate::project::join_request::project_my_join_requests,
crate::project::join_request::project_join_requests,
crate::project::join_request::project_submit_join_request,
crate::project::join_request::project_process_join_request,
crate::project::join_request::project_cancel_join_request,
crate::project::join_answers::project_join_answers,
crate::project::join_answers::project_submit_join_answers,
crate::project::transfer_repo::project_transfer_repo,
// Pull request
crate::pull_request::pull_request::pull_request_list,
crate::pull_request::pull_request::pull_request_get,
crate::pull_request::pull_request::pull_request_create,
crate::pull_request::pull_request::pull_request_update,
crate::pull_request::pull_request::pull_request_delete,
crate::pull_request::pull_request::pull_request_close,
crate::pull_request::pull_request::pull_request_reopen,
crate::pull_request::pull_request::pull_request_summary,
crate::pull_request::pull_request::review_list,
crate::pull_request::pull_request::review_submit,
crate::pull_request::pull_request::review_update,
crate::pull_request::pull_request::review_delete,
crate::pull_request::pull_request::review_comment_list,
crate::pull_request::pull_request::review_comment_create,
crate::pull_request::pull_request::review_comment_update,
crate::pull_request::pull_request::review_comment_delete,
crate::pull_request::pull_request::pr_diff_side_by_side,
crate::pull_request::pull_request::pr_commits_list,
crate::pull_request::review_comment::review_comment_resolve,
crate::pull_request::review_comment::review_comment_unresolve,
crate::pull_request::review_comment::review_comment_reply,
crate::pull_request::review_request::review_request_list,
crate::pull_request::review_request::review_request_create,
crate::pull_request::review_request::review_request_delete,
crate::pull_request::review_request::review_request_dismiss,
crate::pull_request::merge::merge_analysis,
crate::pull_request::merge::merge_conflict_check,
crate::pull_request::merge::merge_execute,
crate::pull_request::merge::merge_abort,
crate::pull_request::merge::merge_is_in_progress,
// Room
crate::room::room::room_list,
crate::room::room::room_get,
crate::room::room::room_create,
crate::room::room::room_update,
crate::room::room::room_delete,
crate::room::category::category_list,
crate::room::category::category_create,
crate::room::category::category_update,
crate::room::category::category_delete,
crate::room::message::message_create,
crate::room::message::message_update,
crate::room::message::message_revoke,
crate::room::thread::thread_list,
crate::room::thread::thread_create,
crate::room::thread::thread_messages,
crate::room::member::member_list,
crate::room::member::member_add,
crate::room::member::member_remove,
crate::room::member::member_set_read_seq,
crate::room::member::member_update_role,
crate::room::pin::pin_list,
crate::room::pin::pin_add,
crate::room::pin::pin_remove,
crate::room::ai::ai_list,
crate::room::ai::ai_upsert,
crate::room::ai::ai_delete,
crate::room::notification::notification_list,
crate::room::notification::notification_mark_read,
crate::room::notification::notification_mark_all_read,
crate::room::notification::notification_archive,
crate::room::draft_and_history::message_edit_history,
crate::room::draft_and_history::mention_list,
crate::room::draft_and_history::mention_read_all,
// Search
crate::search::service::search,
crate::room::reaction::message_search,
// User
crate::user::profile::get_my_profile,
crate::user::profile::update_my_profile,
crate::user::profile::get_profile_by_username,
crate::user::preferences::get_preferences,
crate::user::preferences::update_preferences,
crate::user::ssh_key::add_ssh_key,
crate::user::ssh_key::list_ssh_keys,
crate::user::ssh_key::get_ssh_key,
crate::user::ssh_key::update_ssh_key,
crate::user::ssh_key::delete_ssh_key,
crate::user::access_key::create_access_key,
crate::user::access_key::list_access_keys,
crate::user::access_key::delete_access_key,
crate::user::notification::get_notification_preferences,
crate::user::notification::update_notification_preferences,
crate::user::chpc::get_my_contribution_heatmap,
crate::user::chpc::get_contribution_heatmap,
crate::user::projects::get_current_user_projects,
crate::user::projects::get_user_projects,
crate::user::repository::get_current_user_repos,
crate::user::repository::get_user_repos,
crate::user::subscribe::subscribe_target,
crate::user::subscribe::unsubscribe_target,
crate::user::subscribe::is_subscribed_to_target,
crate::user::subscribe::get_subscribers,
crate::user::subscribe::get_subscription_count,
crate::user::subscribe::get_subscriber_count,
crate::user::user_info::get_user_info,
// Skill
crate::skill::skill_list,
crate::skill::skill_get,
crate::skill::skill_create,
crate::skill::skill_update,
crate::skill::skill_delete,
crate::skill::skill_scan,
// Workspace
crate::workspace::init::workspace_create,
crate::workspace::info::workspace_list,
crate::workspace::info::workspace_info,
crate::workspace::projects::workspace_projects,
crate::workspace::stats::workspace_stats,
crate::workspace::billing::workspace_billing_current,
crate::workspace::billing::workspace_billing_history,
crate::workspace::billing::workspace_billing_add_credit,
crate::workspace::members::workspace_members,
crate::workspace::members::workspace_update_member_role,
crate::workspace::members::workspace_remove_member,
crate::workspace::members::workspace_invite_member,
crate::workspace::members::workspace_pending_invitations,
crate::workspace::members::workspace_cancel_invitation,
crate::workspace::members::workspace_accept_invitation,
crate::workspace::settings::workspace_update,
crate::workspace::settings::workspace_delete,
),
components(
schemas(
// Core API types
crate::error::ApiError,
// Pager
service::Pager,
// Issue
service::issue::IssueCreateRequest,
service::issue::IssueUpdateRequest,
service::issue::IssueResponse,
service::issue::IssueListResponse,
service::issue::IssueSummaryResponse,
service::issue::IssueCommentCreateRequest,
service::issue::IssueCommentUpdateRequest,
service::issue::IssueCommentResponse,
service::issue::IssueCommentListResponse,
service::issue::IssueLabelResponse,
service::issue::IssueAddLabelRequest,
service::issue::LabelResponse,
service::issue::CreateLabelRequest,
service::issue::ReactionAddRequest,
service::issue::ReactionListResponse,
service::issue::ReactionResponse,
service::issue::IssueAssignUserRequest,
service::issue::IssueAssigneeResponse,
service::issue::IssueSubscriberResponse,
service::issue::IssueRepoResponse,
service::issue::IssueLinkRepoRequest,
service::issue::IssuePullRequestResponse,
service::issue::IssueLinkPullRequestRequest,
// Pull request
service::pull_request::PullRequestCreateRequest,
service::pull_request::PullRequestUpdateRequest,
service::pull_request::PullRequestResponse,
service::pull_request::PullRequestListResponse,
service::pull_request::PullRequestSummaryResponse,
service::pull_request::PrCommitsListResponse,
service::pull_request::PrCommitResponse,
service::pull_request::ReviewSubmitRequest,
service::pull_request::ReviewUpdateRequest,
service::pull_request::ReviewResponse,
service::pull_request::ReviewListResponse,
service::pull_request::ReviewCommentCreateRequest,
service::pull_request::ReviewCommentUpdateRequest,
service::pull_request::ReviewCommentResponse,
service::pull_request::ReviewCommentListResponse,
service::pull_request::ReviewCommentListQuery,
service::pull_request::ReviewCommentReplyRequest,
service::pull_request::ReviewRequestCreateRequest,
service::pull_request::ReviewRequestResponse,
service::pull_request::ReviewRequestListResponse,
service::git::diff::SideBySideDiffResponse,
service::git::diff::SideBySideDiffQuery,
service::pull_request::MergeAnalysisResponse,
service::pull_request::MergeConflictResponse,
service::pull_request::MergeRequest,
service::pull_request::MergeResponse,
// Git branch protection
service::git::branch_protection::BranchProtectionResponse,
service::git::branch_protection::BranchProtectionCreateRequest,
service::git::branch_protection::BranchProtectionUpdateRequest,
service::git::branch_protection::ApprovalCheckResult,
service::git::branch_protection::ReviewerInfo,
// Project
service::project::init::ProjectInitParams,
service::project::init::ProjectInitResponse,
service::project::info::ProjectInfoRelational,
service::project::repo::ProjectRepositoryPagination,
service::project::repo::ProjectRepositoryItem,
service::project::repo::ProjectRepoCreateParams,
service::project::repo::ProjectRepoCreateResponse,
service::project::members::MemberListResponse,
service::project::members::UpdateMemberRoleRequest,
service::project::labels::LabelListResponse,
service::project::labels::LabelResponse,
service::project::labels::CreateLabelParams,
service::project::labels::UpdateLabelParams,
service::project::like::LikeUserInfo,
service::project::watch::WatchUserInfo,
service::project::audit::AuditLogResponse,
service::project::audit::AuditLogParams,
service::project::activity::ActivityLogResponse,
service::project::activity::ActivityLogParams,
service::project::activity::ActivityLogListResponse,
// Skill
service::skill::info::SkillResponse,
service::skill::manage::CreateSkillRequest,
service::skill::manage::UpdateSkillRequest,
service::skill::manage::DeleteSkillResponse,
crate::skill::ScanResponse,
// Boards
service::project::board::BoardResponse,
service::project::board::BoardWithColumnsResponse,
service::project::board::ColumnResponse,
service::project::board::ColumnWithCardsResponse,
service::project::board::CardResponse,
service::project::board::CreateBoardParams,
service::project::board::UpdateBoardParams,
service::project::board::CreateColumnParams,
service::project::board::UpdateColumnParams,
service::project::board::CreateCardParams,
service::project::board::UpdateCardParams,
service::project::board::MoveCardParams,
service::project::billing::ProjectBillingCurrentResponse,
service::project::billing::ProjectBillingHistoryResponse,
service::project::billing::ProjectBillingHistoryQuery,
service::project::invitation::InvitationListResponse,
service::project::join_settings::JoinSettingsResponse,
service::project::join_settings::UpdateJoinSettingsRequest,
service::project::join_request::JoinRequestListResponse,
service::project::join_request::SubmitJoinRequest,
service::project::join_request::ProcessJoinRequest,
service::project::join_answers::JoinAnswersListResponse,
service::project::join_answers::AnswerRequest,
service::project::transfer_repo::TransferRepoParams,
service::project::transfer_repo::TransferRepoResponse,
// Agent
service::agent::code_review::TriggerCodeReviewRequest,
service::agent::code_review::TriggerCodeReviewResponse,
service::agent::code_review::CommentCreated,
service::agent::pr_summary::GeneratePrDescriptionRequest,
service::agent::pr_summary::GeneratePrDescriptionResponse,
service::agent::provider::ProviderResponse,
service::agent::provider::CreateProviderRequest,
service::agent::provider::UpdateProviderRequest,
service::agent::model::ModelResponse,
service::agent::model::CreateModelRequest,
service::agent::model::UpdateModelRequest,
service::agent::model_version::ModelVersionResponse,
service::agent::model_version::CreateModelVersionRequest,
service::agent::model_version::UpdateModelVersionRequest,
service::agent::model_pricing::ModelPricingResponse,
service::agent::model_pricing::CreateModelPricingRequest,
service::agent::model_pricing::UpdateModelPricingRequest,
service::agent::model_capability::ModelCapabilityResponse,
service::agent::model_capability::CreateModelCapabilityRequest,
service::agent::model_capability::UpdateModelCapabilityRequest,
service::agent::model_parameter_profile::ModelParameterProfileResponse,
service::agent::model_parameter_profile::CreateModelParameterProfileRequest,
service::agent::model_parameter_profile::UpdateModelParameterProfileRequest,
// User
service::user::profile::ProfileResponse,
service::user::profile::UpdateProfileParams,
service::user::preferences::PreferencesResponse,
service::user::preferences::PreferencesParams,
service::user::ssh_key::SshKeyResponse,
service::user::ssh_key::SshKeyListResponse,
service::user::ssh_key::AddSshKeyParams,
service::user::ssh_key::UpdateSshKeyParams,
service::user::access_key::AccessKeyResponse,
service::user::access_key::AccessKeyListResponse,
service::user::access_key::CreateAccessKeyParams,
service::user::notification::NotificationPreferencesResponse,
service::user::notification::NotificationPreferencesParams,
service::user::chpc::ContributionHeatmapResponse,
service::user::chpc::ContributionHeatmapQuery,
service::user::projects::UserProjectsResponse,
service::user::projects::UserProjectsQuery,
service::user::repository::UserReposResponse,
service::user::repository::UserReposQuery,
service::user::subscribe::SubscriptionInfo,
service::user::user_info::UserInfoExternal,
// Workspace
service::workspace::init::WorkspaceInitParams,
service::workspace::info::WorkspaceInfoResponse,
service::workspace::info::WorkspaceListItem,
service::workspace::info::WorkspaceListResponse,
service::workspace::info::WorkspaceProjectsQuery,
service::workspace::info::WorkspaceProjectsResponse,
service::workspace::info::WorkspaceProjectItem,
service::workspace::info::WorkspaceStatsResponse,
service::workspace::billing::WorkspaceBillingCurrentResponse,
service::workspace::billing::WorkspaceBillingHistoryResponse,
service::workspace::billing::WorkspaceBillingHistoryQuery,
service::workspace::billing::WorkspaceBillingAddCreditParams,
service::workspace::members::WorkspaceMemberInfo,
service::workspace::members::WorkspaceMembersResponse,
service::workspace::members::WorkspaceInviteParams,
service::workspace::members::WorkspaceInviteAcceptParams,
service::workspace::members::PendingInvitationInfo,
service::workspace::settings::WorkspaceUpdateParams,
// Room
room::RoomResponse,
room::RoomCreateRequest,
room::RoomUpdateRequest,
room::RoomCategoryResponse,
room::RoomCategoryCreateRequest,
room::RoomCategoryUpdateRequest,
room::RoomMemberResponse,
room::RoomMemberAddRequest,
room::RoomMemberRoleUpdateRequest,
room::RoomMemberReadSeqRequest,
room::RoomMessageResponse,
room::RoomMessageCreateRequest,
room::RoomMessageUpdateRequest,
room::RoomMessageListResponse,
room::RoomThreadResponse,
room::RoomThreadCreateRequest,
room::RoomPinResponse,
room::RoomAiResponse,
room::RoomAiUpsertRequest,
room::NotificationResponse,
room::NotificationListResponse,
room::NotificationType,
// Auth service types
service::auth::login::LoginParams,
service::auth::register::RegisterParams,
service::auth::password::ChangePasswordParams,
service::auth::password::ResetPasswordParams,
service::auth::captcha::CaptchaQuery,
service::auth::captcha::CaptchaResponse,
service::auth::me::ContextMe,
service::auth::totp::Enable2FAResponse,
service::auth::totp::Verify2FAParams,
service::auth::totp::Disable2FAParams,
service::auth::totp::Get2FAStatusResponse,
service::auth::email::EmailChangeRequest,
service::auth::email::EmailVerifyRequest,
service::auth::email::EmailResponse,
// Git init
service::git::init::GitInitRequest,
service::git::init::GitInitResponse,
// Git blob
service::git::blob::GitReadmeQuery,
service::git::blob::GitReadmeResponse,
// Git webhook
service::git::webhook::WebhookEvent,
service::git::webhook::CreateWebhookParams,
service::git::webhook::UpdateWebhookParams,
service::git::webhook::WebhookResponse,
service::git::webhook::WebhookListResponse,
// Search
service::search::SearchResponse,
service::search::SearchResultSet<service::search::ProjectSearchItem>,
service::search::SearchResultSet<service::search::RepoSearchItem>,
service::search::SearchResultSet<service::search::IssueSearchItem>,
service::search::SearchResultSet<service::search::UserSearchItem>,
service::search::ProjectSearchItem,
service::search::RepoSearchItem,
service::search::IssueSearchItem,
service::search::UserSearchItem,
)
),
tags(
(name = "Auth", description = "Authentication and user identity"),
(name = "Agent", description = "AI agent model management"),
(name = "Git", description = "Git repository operations"),
(name = "Issues", description = "Issue tracking"),
(name = "Project", description = "Project management"),
(name = "PullRequest", description = "Pull request management"),
(name = "Room", description = "Real-time chat rooms"),
(name = "Search", description = "Global and room message search"),
(name = "User", description = "User profiles and settings"),
(name = "Workspace", description = "Workspace management and collaboration"),
)
)]
pub struct OpenApiDoc;