feat(api): expand API endpoints for repo, PR, user, workspace management
- Add git operation endpoints: archive, compare branches, diff, tree, repository extras - Add repo endpoints: contributors, delete fork, get branch/commit status/deploy key/invitation/member/release/tag/webhook, topics, release assets, webhook deliveries/retry - Add PR endpoints: review requests, templates - Add user endpoints: block/unblock, follow/unfollow, presence, personal access tokens, account restore - Add workspace endpoints: billing history, approvals, domains, integrations, invitations, members, webhooks, restore - Add internal API, notification API, IM API modules - Update route configuration and OpenAPI spec
This commit is contained in:
+231
-22
@@ -13,34 +13,52 @@ 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, UserDevice, UserGpgKey, UserNotifySetting, UserProfile, UserSecurityLog,
|
||||
UserSshKey,
|
||||
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;
|
||||
@@ -60,6 +78,12 @@ 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};
|
||||
@@ -80,30 +104,36 @@ use crate::service::repo::protection::{
|
||||
BranchMergeCheck, CreateProtectionRuleParams, UpdateProtectionRuleParams,
|
||||
};
|
||||
use crate::service::repo::releases::{CreateReleaseParams, UpdateReleaseParams};
|
||||
use crate::service::repo::tags::CreateTagParams;
|
||||
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, UploadUserAvatarParams, UserAvatarResponse,
|
||||
};
|
||||
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::{UserOAuthInfo, UserPersonalAccessTokenInfo, UserSessionInfo};
|
||||
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;
|
||||
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(
|
||||
@@ -120,6 +150,9 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
(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
|
||||
@@ -140,6 +173,7 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
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,
|
||||
@@ -166,6 +200,15 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
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,
|
||||
@@ -226,11 +269,9 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
// Pull Requests - Commits & Files
|
||||
crate::api::pr::list_commits::list_commits,
|
||||
crate::api::pr::list_files::list_files,
|
||||
// Pull Requests - Status & Merge Strategy
|
||||
crate::api::pr::get_status::get_status,
|
||||
crate::api::pr::merge_strategy::get_merge_strategy,
|
||||
crate::api::pr::merge_strategy::update_merge_strategy,
|
||||
// Pull Requests - Labels
|
||||
crate::api::pr::labels::list_labels,
|
||||
crate::api::pr::labels::create_label,
|
||||
crate::api::pr::labels::update_label,
|
||||
@@ -238,11 +279,9 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
crate::api::pr::labels::list_label_relations,
|
||||
crate::api::pr::labels::assign_label,
|
||||
crate::api::pr::labels::unassign_label,
|
||||
// Pull Requests - Assignees
|
||||
crate::api::pr::assignees::list_assignees,
|
||||
crate::api::pr::assignees::assign_user,
|
||||
crate::api::pr::assignees::unassign_user,
|
||||
// Pull Requests - Reviews
|
||||
crate::api::pr::reviews::list_reviews,
|
||||
crate::api::pr::reviews::create_review,
|
||||
crate::api::pr::reviews::submit_review,
|
||||
@@ -251,23 +290,18 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
crate::api::pr::reviews::add_review_reply,
|
||||
crate::api::pr::reviews::update_review_comment,
|
||||
crate::api::pr::reviews::delete_review_comment,
|
||||
// Pull Requests - Check Runs
|
||||
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,
|
||||
// Pull Requests - Events
|
||||
crate::api::pr::events::list_events,
|
||||
// Pull Requests - Reactions
|
||||
crate::api::pr::reactions::list_reactions,
|
||||
crate::api::pr::reactions::add_reaction,
|
||||
crate::api::pr::reactions::remove_reaction,
|
||||
// Pull Requests - Subscriptions
|
||||
crate::api::pr::subscriptions::list_subscriptions,
|
||||
crate::api::pr::subscriptions::subscribe,
|
||||
crate::api::pr::subscriptions::unsubscribe,
|
||||
crate::api::pr::subscriptions::mute,
|
||||
// Wiki
|
||||
crate::api::wiki::list_pages::list_pages,
|
||||
crate::api::wiki::get_page::get_page,
|
||||
crate::api::wiki::create_page::create_page,
|
||||
@@ -277,7 +311,27 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
crate::api::wiki::list_revisions::list_revisions,
|
||||
crate::api::wiki::get_revision::get_revision,
|
||||
crate::api::wiki::compare_revisions::compare_revisions,
|
||||
// Workspaces
|
||||
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,
|
||||
@@ -321,7 +375,17 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
crate::api::workspace::request_approval::handle,
|
||||
crate::api::workspace::review_approval::handle,
|
||||
crate::api::workspace::audit_logs::handle,
|
||||
// Repos
|
||||
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,
|
||||
@@ -381,6 +445,61 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
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,
|
||||
@@ -416,12 +535,11 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
Regenerate2FABackupCodesResponse,
|
||||
// User
|
||||
ApiResponse<User>,
|
||||
ApiResponse<UserAvatarResponse>,
|
||||
ApiResponse<AvatarData>,
|
||||
ApiResponse<String>,
|
||||
User,
|
||||
UpdateUserAccountParams,
|
||||
UploadUserAvatarParams,
|
||||
UserAvatarResponse,
|
||||
AvatarData,
|
||||
ApiResponse<UserAppearance>,
|
||||
UserAppearance,
|
||||
UpdateUserAppearanceParams,
|
||||
@@ -697,6 +815,97 @@ use crate::service::workspace::webhooks::{CreateWebhookParams, UpdateWebhookPara
|
||||
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,
|
||||
// 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;
|
||||
|
||||
Reference in New Issue
Block a user