916 lines
40 KiB
Rust
916 lines
40 KiB
Rust
use utoipa::OpenApi;
|
|
|
|
use crate::api::auth::regenerate_2fa_backup_codes::{
|
|
Regenerate2FABackupCodesRequest, Regenerate2FABackupCodesResponse,
|
|
};
|
|
use crate::api::auth::register::RegisterResponse;
|
|
use crate::api::auth::ws_token::WsTokenResponse;
|
|
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,
|
|
crate::api::auth::ws_token::handle,
|
|
// 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<RsaResponse>,
|
|
ApiResponse<CaptchaResponse>,
|
|
ApiResponse<ContextMe>,
|
|
ApiResponse<RegisterEmailCodeResponse>,
|
|
ApiResponse<RegisterResponse>,
|
|
ApiResponse<EmailResponse>,
|
|
ApiResponse<Get2FAStatusResponse>,
|
|
ApiResponse<Enable2FAResponse>,
|
|
ApiResponse<Regenerate2FABackupCodesResponse>,
|
|
RsaResponse,
|
|
CaptchaQuery,
|
|
CaptchaResponse,
|
|
LoginParams,
|
|
ContextMe,
|
|
RegisterEmailCodeParams,
|
|
RegisterEmailCodeResponse,
|
|
RegisterParams,
|
|
RegisterResponse,
|
|
EmailResponse,
|
|
EmailChangeRequest,
|
|
EmailVerifyRequest,
|
|
ResetPasswordRequest,
|
|
ResetPasswordVerifyParams,
|
|
Get2FAStatusResponse,
|
|
Enable2FAResponse,
|
|
Verify2FAParams,
|
|
Disable2FAParams,
|
|
Regenerate2FABackupCodesRequest,
|
|
Regenerate2FABackupCodesResponse,
|
|
// User
|
|
ApiResponse<User>,
|
|
ApiResponse<AvatarData>,
|
|
ApiResponse<String>,
|
|
User,
|
|
UpdateUserAccountParams,
|
|
AvatarData,
|
|
ApiResponse<UserAppearance>,
|
|
UserAppearance,
|
|
UpdateUserAppearanceParams,
|
|
ApiResponse<UserProfile>,
|
|
UserProfile,
|
|
UpdateUserProfileParams,
|
|
ApiResponse<UserNotifySetting>,
|
|
UserNotifySetting,
|
|
UpdateUserNotifySettingParams,
|
|
ApiResponse<UserSshKey>,
|
|
ApiResponse<Vec<UserSshKey>>,
|
|
UserSshKey,
|
|
AddSshKeyParams,
|
|
ApiResponse<UserGpgKey>,
|
|
ApiResponse<Vec<UserGpgKey>>,
|
|
UserGpgKey,
|
|
AddGpgKeyParams,
|
|
ApiResponse<UserSessionInfo>,
|
|
ApiResponse<Vec<UserSessionInfo>>,
|
|
UserSessionInfo,
|
|
ApiResponse<UserDevice>,
|
|
ApiResponse<Vec<UserDevice>>,
|
|
UserDevice,
|
|
ApiResponse<UserOAuthInfo>,
|
|
ApiResponse<Vec<UserOAuthInfo>>,
|
|
UserOAuthInfo,
|
|
ApiResponse<UserSecurityLog>,
|
|
ApiResponse<Vec<UserSecurityLog>>,
|
|
UserSecurityLog,
|
|
ApiResponse<UserPersonalAccessTokenInfo>,
|
|
ApiResponse<Vec<UserPersonalAccessTokenInfo>>,
|
|
UserPersonalAccessTokenInfo,
|
|
// Issues
|
|
ApiResponse<Issue>,
|
|
ApiResponse<Vec<Issue>>,
|
|
Issue,
|
|
CreateIssueParams,
|
|
IssueListFilters,
|
|
UpdateIssueParams,
|
|
LockIssueParams,
|
|
TransferIssueParams,
|
|
ApiResponse<IssueComment>,
|
|
ApiResponse<Vec<IssueComment>>,
|
|
IssueComment,
|
|
CreateCommentParams,
|
|
UpdateCommentParams,
|
|
ApiResponse<IssueLabel>,
|
|
ApiResponse<Vec<IssueLabel>>,
|
|
IssueLabel,
|
|
CreateLabelParams,
|
|
UpdateLabelParams,
|
|
ApiResponse<IssueLabelRelation>,
|
|
ApiResponse<Vec<IssueLabelRelation>>,
|
|
IssueLabelRelation,
|
|
ApiResponse<IssueMilestone>,
|
|
ApiResponse<Vec<IssueMilestone>>,
|
|
IssueMilestone,
|
|
CreateMilestoneParams,
|
|
UpdateMilestoneParams,
|
|
ApiResponse<IssueAssignee>,
|
|
ApiResponse<Vec<IssueAssignee>>,
|
|
IssueAssignee,
|
|
ApiResponse<IssueEvent>,
|
|
ApiResponse<Vec<IssueEvent>>,
|
|
IssueEvent,
|
|
ApiResponse<IssueReaction>,
|
|
ApiResponse<Vec<IssueReaction>>,
|
|
IssueReaction,
|
|
CreateIssueReactionParams,
|
|
ApiResponse<IssueSubscriber>,
|
|
ApiResponse<Vec<IssueSubscriber>>,
|
|
IssueSubscriber,
|
|
MuteIssueParams,
|
|
ApiResponse<IssueTemplate>,
|
|
ApiResponse<Vec<IssueTemplate>>,
|
|
IssueTemplate,
|
|
CreateTemplateParams,
|
|
UpdateTemplateParams,
|
|
ApiResponse<IssueRepoRelation>,
|
|
ApiResponse<Vec<IssueRepoRelation>>,
|
|
IssueRepoRelation,
|
|
LinkRepoParams,
|
|
ApiResponse<IssuePrRelation>,
|
|
ApiResponse<Vec<IssuePrRelation>>,
|
|
IssuePrRelation,
|
|
LinkPrParams,
|
|
// Pull Requests
|
|
ApiResponse<PullRequest>,
|
|
ApiResponse<Vec<PullRequest>>,
|
|
PullRequest,
|
|
CreatePrParams,
|
|
UpdatePrParams,
|
|
PrListFilters,
|
|
MergePrParams,
|
|
LockPrParams,
|
|
ApiResponse<PrCommit>,
|
|
ApiResponse<Vec<PrCommit>>,
|
|
PrCommit,
|
|
ApiResponse<PrFile>,
|
|
ApiResponse<Vec<PrFile>>,
|
|
PrFile,
|
|
ApiResponse<PrStatus>,
|
|
PrStatus,
|
|
ApiResponse<PrMergeStrategy>,
|
|
PrMergeStrategy,
|
|
UpdateMergeStrategyParams,
|
|
ApiResponse<PrLabel>,
|
|
ApiResponse<Vec<PrLabel>>,
|
|
PrLabel,
|
|
CreatePrLabelParams,
|
|
UpdatePrLabelParams,
|
|
ApiResponse<PrLabelRelation>,
|
|
ApiResponse<Vec<PrLabelRelation>>,
|
|
PrLabelRelation,
|
|
ApiResponse<PrAssignee>,
|
|
ApiResponse<Vec<PrAssignee>>,
|
|
PrAssignee,
|
|
ApiResponse<PrReview>,
|
|
ApiResponse<Vec<PrReview>>,
|
|
PrReview,
|
|
CreateReviewParams,
|
|
ReviewCommentParams,
|
|
SubmitReviewParams,
|
|
DismissReviewParams,
|
|
AddReplyParams,
|
|
ApiResponse<PrReviewComment>,
|
|
ApiResponse<Vec<PrReviewComment>>,
|
|
PrReviewComment,
|
|
ApiResponse<PrCheckRun>,
|
|
ApiResponse<Vec<PrCheckRun>>,
|
|
PrCheckRun,
|
|
CreateCheckRunParams,
|
|
UpdateCheckRunParams,
|
|
ApiResponse<PrEvent>,
|
|
ApiResponse<Vec<PrEvent>>,
|
|
PrEvent,
|
|
ApiResponse<PrReaction>,
|
|
ApiResponse<Vec<PrReaction>>,
|
|
PrReaction,
|
|
CreateReactionParams,
|
|
ApiResponse<PrSubscription>,
|
|
ApiResponse<Vec<PrSubscription>>,
|
|
PrSubscription,
|
|
MutePrParams,
|
|
// Wiki
|
|
ApiResponse<WikiPage>,
|
|
ApiResponse<Vec<WikiPage>>,
|
|
WikiPage,
|
|
CreateWikiPageParams,
|
|
UpdateWikiPageParams,
|
|
ApiResponse<WikiPageRevision>,
|
|
ApiResponse<Vec<WikiPageRevision>>,
|
|
ApiResponse<WikiCompareResult>,
|
|
WikiCompareResult,
|
|
WikiPageRevision,
|
|
// Workspaces
|
|
ApiResponse<Workspace>,
|
|
ApiResponse<Vec<Workspace>>,
|
|
ApiResponse<WorkspaceMember>,
|
|
ApiResponse<Vec<WorkspaceMember>>,
|
|
ApiResponse<CreateInvitationResponse>,
|
|
ApiResponse<Vec<WorkspaceInvitation>>,
|
|
ApiResponse<WorkspaceInvitation>,
|
|
ApiResponse<WorkspaceBilling>,
|
|
ApiResponse<WorkspaceCustomBranding>,
|
|
ApiResponse<WorkspaceSettings>,
|
|
ApiResponse<WorkspaceStats>,
|
|
ApiResponse<WorkspaceIntegration>,
|
|
ApiResponse<Vec<WorkspaceIntegration>>,
|
|
ApiResponse<WorkspaceWebhook>,
|
|
ApiResponse<Vec<WorkspaceWebhook>>,
|
|
ApiResponse<WorkspaceDomain>,
|
|
ApiResponse<Vec<WorkspaceDomain>>,
|
|
ApiResponse<WorkspacePendingApproval>,
|
|
ApiResponse<Vec<WorkspacePendingApproval>>,
|
|
ApiResponse<Vec<WorkspaceAuditLog>>,
|
|
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<Repo>,
|
|
ApiResponse<Vec<Repo>>,
|
|
ApiResponse<RepoBranch>,
|
|
ApiResponse<Vec<RepoBranch>>,
|
|
ApiResponse<RepoTag>,
|
|
ApiResponse<Vec<RepoTag>>,
|
|
ApiResponse<RepoRelease>,
|
|
ApiResponse<Vec<RepoRelease>>,
|
|
ApiResponse<RepoFork>,
|
|
ApiResponse<Vec<RepoFork>>,
|
|
ApiResponse<RepoStar>,
|
|
ApiResponse<Vec<RepoStar>>,
|
|
ApiResponse<RepoWatch>,
|
|
ApiResponse<Vec<RepoWatch>>,
|
|
ApiResponse<RepoMember>,
|
|
ApiResponse<Vec<RepoMember>>,
|
|
ApiResponse<RepoInvitation>,
|
|
ApiResponse<Vec<RepoInvitation>>,
|
|
ApiResponse<RepoDeployKey>,
|
|
ApiResponse<Vec<RepoDeployKey>>,
|
|
ApiResponse<RepoWebhook>,
|
|
ApiResponse<Vec<RepoWebhook>>,
|
|
ApiResponse<BranchProtectionRule>,
|
|
ApiResponse<Vec<BranchProtectionRule>>,
|
|
ApiResponse<Option<BranchProtectionRule>>,
|
|
ApiResponse<BranchMergeCheck>,
|
|
ApiResponse<RepoCommitStatus>,
|
|
ApiResponse<Vec<RepoCommitStatus>>,
|
|
ApiResponse<RepoCommitComment>,
|
|
ApiResponse<Vec<RepoCommitComment>>,
|
|
ApiResponse<RepoStats>,
|
|
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<Notification>,
|
|
ApiResponse<Vec<Notification>>,
|
|
Notification,
|
|
ApiResponse<i64>,
|
|
ApiResponse<NotificationSubscription>,
|
|
ApiResponse<Vec<NotificationSubscription>>,
|
|
NotificationSubscription,
|
|
CreateSubscriptionParams,
|
|
UpdateSubscriptionParams,
|
|
ApiResponse<NotificationBlock>,
|
|
ApiResponse<Vec<NotificationBlock>>,
|
|
NotificationBlock,
|
|
CreateBlockParams,
|
|
ApiResponse<NotificationDelivery>,
|
|
ApiResponse<Vec<NotificationDelivery>>,
|
|
NotificationDelivery,
|
|
ApiResponse<NotificationTemplate>,
|
|
ApiResponse<Vec<NotificationTemplate>>,
|
|
NotificationTemplate,
|
|
NotifyCreateTemplateParams,
|
|
NotifyUpdateTemplateParams,
|
|
// Auth additions
|
|
ChangePasswordParams,
|
|
ApiResponse<WsTokenResponse>,
|
|
WsTokenResponse,
|
|
// User additions - Presence/Block/Follow
|
|
ApiResponse<UserPresence>,
|
|
UserPresence,
|
|
ApiResponse<UserBlock>,
|
|
ApiResponse<Vec<UserBlock>>,
|
|
UserBlock,
|
|
ApiResponse<UserFollow>,
|
|
ApiResponse<Vec<UserFollow>>,
|
|
UserFollow,
|
|
ApiResponse<CreatePersonalAccessTokenResponse>,
|
|
CreatePersonalAccessTokenResponse,
|
|
// Workspace additions
|
|
UpdateDomainParams,
|
|
// Repo additions
|
|
UpdateTagParams,
|
|
// IM - Channels
|
|
ApiResponse<Channel>,
|
|
ApiResponse<Vec<Channel>>,
|
|
Channel,
|
|
CreateChannelParams,
|
|
UpdateChannelParams,
|
|
ChannelListFilters,
|
|
// IM - Members
|
|
ApiResponse<ChannelMember>,
|
|
ApiResponse<Vec<ChannelMember>>,
|
|
ChannelMember,
|
|
InviteMemberParams,
|
|
UpdateMemberParams,
|
|
// IM - Categories
|
|
ApiResponse<ChannelCategory>,
|
|
ApiResponse<Vec<ChannelCategory>>,
|
|
ChannelCategory,
|
|
CreateCategoryParams,
|
|
UpdateCategoryParams,
|
|
// BaseInfo types
|
|
UserBaseInfo,
|
|
WorkspaceBaseInfo,
|
|
RepoBaseInfo,
|
|
ChannelBaseInfo,
|
|
IssueBaseInfo,
|
|
PullRequestBaseInfo,
|
|
WikiPageBaseInfo,
|
|
// Detail types
|
|
ApiResponse<RepoDetail>,
|
|
ApiResponse<Vec<RepoDetail>>,
|
|
RepoDetail,
|
|
ApiResponse<WorkspaceDetail>,
|
|
ApiResponse<Vec<WorkspaceDetail>>,
|
|
WorkspaceDetail,
|
|
ApiResponse<ChannelDetail>,
|
|
ApiResponse<Vec<ChannelDetail>>,
|
|
ChannelDetail,
|
|
ApiResponse<IssueDetail>,
|
|
ApiResponse<Vec<IssueDetail>>,
|
|
IssueDetail,
|
|
ApiResponse<IssueCommentDetail>,
|
|
ApiResponse<Vec<IssueCommentDetail>>,
|
|
IssueCommentDetail,
|
|
ApiResponse<PullRequestDetail>,
|
|
ApiResponse<Vec<PullRequestDetail>>,
|
|
PullRequestDetail,
|
|
ApiResponse<PrReviewDetail>,
|
|
ApiResponse<Vec<PrReviewDetail>>,
|
|
PrReviewDetail,
|
|
ApiResponse<NotificationDetail>,
|
|
ApiResponse<Vec<NotificationDetail>>,
|
|
NotificationDetail,
|
|
))
|
|
)]
|
|
pub struct OpenApiDoc;
|