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:
+95
-9
@@ -5,6 +5,7 @@ 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;
|
||||
@@ -17,14 +18,24 @@ 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;
|
||||
@@ -42,27 +53,33 @@ 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("/workspaces/{workspace_name}/repos")
|
||||
web::scope("")
|
||||
.route("", web::get().to(list::list))
|
||||
.route("", web::post().to(create::create))
|
||||
.route("/{repo_name}", web::get().to(get::get))
|
||||
@@ -86,21 +103,33 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
web::post().to(create_branch::create_branch),
|
||||
)
|
||||
.route(
|
||||
"/{repo_name}/branches/{branch_id}/default",
|
||||
"/{repo_name}/branches/{branch_name}/default",
|
||||
web::put().to(set_default_branch::set_default_branch),
|
||||
)
|
||||
.route(
|
||||
"/{repo_name}/branches/{branch_id}/protection",
|
||||
"/{repo_name}/branches/{branch_name}/protection",
|
||||
web::put().to(set_branch_protection::set_branch_protection),
|
||||
)
|
||||
.route(
|
||||
"/{repo_name}/branches/{branch_id}",
|
||||
"/{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_id}",
|
||||
"/{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(
|
||||
@@ -111,6 +140,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -121,7 +154,12 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
)
|
||||
.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",
|
||||
@@ -152,6 +190,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -165,6 +207,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -177,6 +223,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -189,6 +239,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -197,6 +251,14 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -229,6 +291,10 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
@@ -245,14 +311,34 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
"/{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),
|
||||
),
|
||||
)
|
||||
.route(
|
||||
"/repos/invitations/accept",
|
||||
web::post().to(accept_invitation::accept_invitation),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user