pub mod assign_issue; pub mod assign_label; pub mod close; pub mod create; pub mod create_comment; pub mod create_label; pub mod create_milestone; pub mod delete; pub mod delete_comment; pub mod delete_label; pub mod delete_milestone; pub mod get; pub mod list; pub mod list_assignees; pub mod list_comments; pub mod list_events; pub mod list_issue_labels; pub mod list_labels; pub mod list_milestones; pub mod lock; pub mod pr_relations; pub mod reactions; pub mod reopen; pub mod repo_relations; pub mod subscribers; pub mod templates; pub mod transfer; pub mod unassign_issue; pub mod unassign_label; pub mod update; pub mod update_comment; pub mod update_label; pub mod update_milestone; use actix_web::web; pub fn configure(cfg: &mut web::ServiceConfig) { cfg.service( web::scope("/issues") // Core .route("", web::get().to(list::list)) .route("", web::post().to(create::create)) .route("/{number}", web::get().to(get::get)) .route("/{number}", web::put().to(update::update)) .route("/{number}", web::delete().to(delete::delete)) .route("/{number}/close", web::post().to(close::close)) .route("/{number}/reopen", web::post().to(reopen::reopen)) .route("/{number}/lock", web::put().to(lock::lock)) .route("/{number}/transfer", web::post().to(transfer::transfer)) // Comments .route( "/{number}/comments", web::get().to(list_comments::list_comments), ) .route( "/{number}/comments", web::post().to(create_comment::create_comment), ) .route( "/{number}/comments/{comment_id}", web::put().to(update_comment::update_comment), ) .route( "/{number}/comments/{comment_id}", web::delete().to(delete_comment::delete_comment), ) // Labels (issue-level) .route( "/{number}/labels", web::get().to(list_issue_labels::list_issue_labels), ) .route( "/{number}/labels/{label_id}", web::post().to(assign_label::assign_label), ) .route( "/{number}/labels/{label_id}", web::delete().to(unassign_label::unassign_label), ) // Assignees .route( "/{number}/assignees", web::get().to(list_assignees::list_assignees), ) .route( "/{number}/assignees/{user_id}", web::post().to(assign_issue::assign_issue), ) .route( "/{number}/assignees/{user_id}", web::delete().to(unassign_issue::unassign_issue), ) // Events .route("/{number}/events", web::get().to(list_events::list_events)) // Reactions .route( "/{number}/reactions", web::get().to(reactions::list_reactions), ) .route( "/{number}/reactions", web::post().to(reactions::add_reaction), ) .route( "/{number}/reactions/{reaction_id}", web::delete().to(reactions::remove_reaction), ) // Subscribers .route( "/{number}/subscribers", web::get().to(subscribers::list_subscribers), ) .route( "/{number}/subscribe", web::post().to(subscribers::subscribe), ) .route( "/{number}/subscribe", web::delete().to(subscribers::unsubscribe), ) .route("/{number}/mute", web::put().to(subscribers::mute)) // Repo relations .route( "/{number}/repos", web::get().to(repo_relations::list_repo_relations), ) .route("/{number}/repos", web::post().to(repo_relations::link_repo)) .route( "/{number}/repos/{relation_id}", web::delete().to(repo_relations::unlink_repo), ) // PR relations .route( "/{number}/prs", web::get().to(pr_relations::list_pr_relations), ) .route("/{number}/prs", web::post().to(pr_relations::link_pr)) .route( "/{number}/prs/{relation_id}", web::delete().to(pr_relations::unlink_pr), ), ); } pub fn configure_repo_level(cfg: &mut web::ServiceConfig) { cfg.service( web::scope("/issues") .route("/labels", web::get().to(list_labels::list_labels)) .route("/labels", web::post().to(create_label::create_label)) .route( "/labels/{label_id}", web::put().to(update_label::update_label), ) .route( "/labels/{label_id}", web::delete().to(delete_label::delete_label), ) .route( "/milestones", web::get().to(list_milestones::list_milestones), ) .route( "/milestones", web::post().to(create_milestone::create_milestone), ) .route( "/milestones/{milestone_id}", web::put().to(update_milestone::update_milestone), ) .route( "/milestones/{milestone_id}", web::delete().to(delete_milestone::delete_milestone), ) .route("/templates", web::get().to(templates::list_templates)) .route("/templates", web::post().to(templates::create_template)) .route( "/templates/{template_id}", web::put().to(templates::update_template), ) .route( "/templates/{template_id}", web::delete().to(templates::delete_template), ), ); }