cec6dce955
- 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
345 lines
12 KiB
Rust
345 lines
12 KiB
Rust
use actix_web::web;
|
|
|
|
pub mod accept_invitation;
|
|
pub mod add_deploy_key;
|
|
pub mod add_member;
|
|
pub mod archive;
|
|
pub mod check_branch_merge;
|
|
pub mod contributors;
|
|
pub mod create;
|
|
pub mod create_branch;
|
|
pub mod create_commit_comment;
|
|
pub mod create_commit_status;
|
|
pub mod create_invitation;
|
|
pub mod create_protection_rule;
|
|
pub mod create_release;
|
|
pub mod create_tag;
|
|
pub mod create_webhook;
|
|
pub mod delete;
|
|
pub mod delete_branch;
|
|
pub mod delete_deploy_key;
|
|
pub mod delete_fork;
|
|
pub mod delete_protection_rule;
|
|
pub mod delete_release;
|
|
pub mod delete_tag;
|
|
pub mod delete_webhook;
|
|
pub mod fork_repo;
|
|
pub mod get;
|
|
pub mod get_branch;
|
|
pub mod get_commit_status;
|
|
pub mod get_deploy_key;
|
|
pub mod get_invitation;
|
|
pub mod get_member;
|
|
pub mod get_protection_rule;
|
|
pub mod get_release;
|
|
pub mod get_stats;
|
|
pub mod get_tag;
|
|
pub mod get_webhook;
|
|
pub mod git;
|
|
pub mod leave_repo;
|
|
pub mod list;
|
|
pub mod list_branches;
|
|
pub mod list_commit_comments;
|
|
pub mod list_commit_statuses;
|
|
pub mod list_deploy_keys;
|
|
pub mod list_forks;
|
|
pub mod list_invitations;
|
|
pub mod list_members;
|
|
pub mod list_protection_rules;
|
|
pub mod list_releases;
|
|
pub mod list_stargazers;
|
|
pub mod list_tags;
|
|
pub mod list_watchers;
|
|
pub mod list_webhooks;
|
|
pub mod match_protection;
|
|
pub mod refresh_stats;
|
|
pub mod release_assets;
|
|
pub mod remove_member;
|
|
pub mod repo_webhook_deliveries;
|
|
pub mod repo_webhook_retry;
|
|
pub mod resolve_commit_comment;
|
|
pub mod revoke_invitation;
|
|
pub mod set_branch_protection;
|
|
pub mod set_default_branch;
|
|
pub mod star_repo;
|
|
pub mod sync_fork;
|
|
pub mod topics;
|
|
pub mod transfer_owner;
|
|
pub mod unarchive;
|
|
pub mod unstar_repo;
|
|
pub mod unwatch_repo;
|
|
pub mod update;
|
|
pub mod update_commit_comment;
|
|
pub mod update_member_role;
|
|
pub mod update_protection_rule;
|
|
pub mod update_release;
|
|
pub mod update_tag;
|
|
pub mod update_webhook;
|
|
pub mod watch_repo;
|
|
|
|
pub fn configure(cfg: &mut web::ServiceConfig) {
|
|
cfg.service(
|
|
web::scope("")
|
|
.route("", web::get().to(list::list))
|
|
.route("", web::post().to(create::create))
|
|
.route("/{repo_name}", web::get().to(get::get))
|
|
.route("/{repo_name}", web::put().to(update::update))
|
|
.route("/{repo_name}", web::delete().to(delete::delete))
|
|
.route("/{repo_name}/archive", web::post().to(archive::archive))
|
|
.route(
|
|
"/{repo_name}/unarchive",
|
|
web::post().to(unarchive::unarchive),
|
|
)
|
|
.route(
|
|
"/{repo_name}/transfer-owner",
|
|
web::post().to(transfer_owner::transfer_owner),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches",
|
|
web::get().to(list_branches::list_branches),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches",
|
|
web::post().to(create_branch::create_branch),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches/{branch_name}/default",
|
|
web::put().to(set_default_branch::set_default_branch),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches/{branch_name}/protection",
|
|
web::put().to(set_branch_protection::set_branch_protection),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches/{branch_name}",
|
|
web::get().to(get_branch::get_branch),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches/{branch_name}",
|
|
web::delete().to(delete_branch::delete_branch),
|
|
)
|
|
.route("/{repo_name}/tags", web::get().to(list_tags::list_tags))
|
|
.route("/{repo_name}/tags", web::post().to(create_tag::create_tag))
|
|
.route(
|
|
"/{repo_name}/tags/{tag_name}",
|
|
web::get().to(get_tag::get_tag),
|
|
)
|
|
.route(
|
|
"/{repo_name}/tags/{tag_name}",
|
|
web::put().to(update_tag::update_tag),
|
|
)
|
|
.route(
|
|
"/{repo_name}/tags/{tag_name}",
|
|
web::delete().to(delete_tag::delete_tag),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases",
|
|
web::get().to(list_releases::list_releases),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases",
|
|
web::post().to(create_release::create_release),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}",
|
|
web::get().to(get_release::get_release),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}",
|
|
web::put().to(update_release::update_release),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}",
|
|
web::delete().to(delete_release::delete_release),
|
|
)
|
|
.route("/{repo_name}/forks", web::get().to(list_forks::list_forks))
|
|
.route("/{repo_name}/fork", web::post().to(fork_repo::fork_repo))
|
|
.route(
|
|
"/{repo_name}/fork",
|
|
web::delete().to(delete_fork::delete_fork),
|
|
)
|
|
.route("/{repo_name}/sync", web::post().to(sync_fork::sync_fork))
|
|
.route("/{repo_name}/topics", web::put().to(topics::update_topics))
|
|
.route("/{repo_name}/star", web::post().to(star_repo::star_repo))
|
|
.route(
|
|
"/{repo_name}/star",
|
|
web::delete().to(unstar_repo::unstar_repo),
|
|
)
|
|
.route(
|
|
"/{repo_name}/stargazers",
|
|
web::get().to(list_stargazers::list_stargazers),
|
|
)
|
|
.route("/{repo_name}/watch", web::post().to(watch_repo::watch_repo))
|
|
.route(
|
|
"/{repo_name}/watch",
|
|
web::delete().to(unwatch_repo::unwatch_repo),
|
|
)
|
|
.route(
|
|
"/{repo_name}/watchers",
|
|
web::get().to(list_watchers::list_watchers),
|
|
)
|
|
.route(
|
|
"/{repo_name}/members",
|
|
web::get().to(list_members::list_members),
|
|
)
|
|
.route(
|
|
"/{repo_name}/members",
|
|
web::post().to(add_member::add_member),
|
|
)
|
|
.route(
|
|
"/{repo_name}/members/{member_id}/role",
|
|
web::put().to(update_member_role::update_member_role),
|
|
)
|
|
.route(
|
|
"/{repo_name}/members/{member_id}",
|
|
web::get().to(get_member::get_member),
|
|
)
|
|
.route(
|
|
"/{repo_name}/members/{member_id}",
|
|
web::delete().to(remove_member::remove_member),
|
|
)
|
|
.route("/{repo_name}/leave", web::post().to(leave_repo::leave_repo))
|
|
.route(
|
|
"/{repo_name}/invitations",
|
|
web::get().to(list_invitations::list_invitations),
|
|
)
|
|
.route(
|
|
"/{repo_name}/invitations",
|
|
web::post().to(create_invitation::create_invitation),
|
|
)
|
|
.route(
|
|
"/{repo_name}/invitations/{invitation_id}",
|
|
web::get().to(get_invitation::get_invitation),
|
|
)
|
|
.route(
|
|
"/{repo_name}/invitations/{invitation_id}",
|
|
web::delete().to(revoke_invitation::revoke_invitation),
|
|
)
|
|
.route(
|
|
"/{repo_name}/deploy-keys",
|
|
web::get().to(list_deploy_keys::list_deploy_keys),
|
|
)
|
|
.route(
|
|
"/{repo_name}/deploy-keys",
|
|
web::post().to(add_deploy_key::add_deploy_key),
|
|
)
|
|
.route(
|
|
"/{repo_name}/deploy-keys/{key_id}",
|
|
web::get().to(get_deploy_key::get_deploy_key),
|
|
)
|
|
.route(
|
|
"/{repo_name}/deploy-keys/{key_id}",
|
|
web::delete().to(delete_deploy_key::delete_deploy_key),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks",
|
|
web::get().to(list_webhooks::list_webhooks),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks",
|
|
web::post().to(create_webhook::create_webhook),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks/{webhook_id}",
|
|
web::get().to(get_webhook::get_webhook),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks/{webhook_id}",
|
|
web::put().to(update_webhook::update_webhook),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks/{webhook_id}",
|
|
web::delete().to(delete_webhook::delete_webhook),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks/{webhook_id}/deliveries",
|
|
web::get().to(repo_webhook_deliveries::repo_webhook_deliveries),
|
|
)
|
|
.route(
|
|
"/{repo_name}/webhooks/{webhook_id}/deliveries/{delivery_id}/retry",
|
|
web::post().to(repo_webhook_retry::repo_webhook_retry),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection-rules",
|
|
web::get().to(list_protection_rules::list_protection_rules),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection-rules",
|
|
web::post().to(create_protection_rule::create_protection_rule),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection-rules/{rule_id}",
|
|
web::get().to(get_protection_rule::get_protection_rule),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection-rules/{rule_id}",
|
|
web::put().to(update_protection_rule::update_protection_rule),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection-rules/{rule_id}",
|
|
web::delete().to(delete_protection_rule::delete_protection_rule),
|
|
)
|
|
.route(
|
|
"/{repo_name}/protection/match",
|
|
web::get().to(match_protection::match_protection),
|
|
)
|
|
.route(
|
|
"/{repo_name}/branches/{target_branch}/merge-check",
|
|
web::get().to(check_branch_merge::check_branch_merge),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commits/{push_commit_id}/statuses",
|
|
web::get().to(list_commit_statuses::list_commit_statuses),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commits/{push_commit_id}/statuses/{status_id}",
|
|
web::get().to(get_commit_status::get_commit_status),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commit-statuses",
|
|
web::post().to(create_commit_status::create_commit_status),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commits/{push_commit_id}/comments",
|
|
web::get().to(list_commit_comments::list_commit_comments),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commit-comments",
|
|
web::post().to(create_commit_comment::create_commit_comment),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commit-comments/{comment_id}/resolve",
|
|
web::post().to(resolve_commit_comment::resolve_commit_comment),
|
|
)
|
|
.route(
|
|
"/{repo_name}/commit-comments/{comment_id}",
|
|
web::put().to(update_commit_comment::update_commit_comment),
|
|
)
|
|
.route("/{repo_name}/stats", web::get().to(get_stats::get_stats))
|
|
.route(
|
|
"/{repo_name}/stats/refresh",
|
|
web::post().to(refresh_stats::refresh_stats),
|
|
)
|
|
.route(
|
|
"/{repo_name}/contributors",
|
|
web::get().to(contributors::list_contributors),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}/assets",
|
|
web::post().to(release_assets::upload_asset),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}/assets",
|
|
web::get().to(release_assets::list_assets),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}/assets/{asset_id}",
|
|
web::delete().to(release_assets::delete_asset),
|
|
)
|
|
.route(
|
|
"/{repo_name}/releases/{release_id}/assets/{asset_id}/download",
|
|
web::get().to(release_assets::download_asset),
|
|
),
|
|
);
|
|
}
|