use axum::routing::{get, post};
use axum::Router;
use super::coder::*;
use crate::AppState;
pub(super) fn apply(router: Router<AppState>) -> Router<AppState> {
router
.route("/coder/status", get(coder_status))
.route("/coder/projects", get(coder_project_list))
.route("/coder/projects/{project_id}", get(coder_project_get))
.route(
"/coder/projects/{project_id}/runs",
get(coder_project_run_list).post(coder_project_run_create),
)
.route(
"/coder/projects/{project_id}/bindings",
get(coder_project_binding_get).put(coder_project_binding_put),
)
.route(
"/coder/projects/{project_id}/github-project/inbox",
get(coder_project_github_project_inbox),
)
.route(
"/coder/projects/{project_id}/github-project/intake",
post(coder_project_github_project_intake),
)
.route(
"/coder/projects/{project_id}/policy",
get(coder_project_policy_get).put(coder_project_policy_put),
)
.route("/coder/runs", post(coder_run_create).get(coder_run_list))
.route("/coder/runs/{id}", get(coder_run_get))
.route(
"/coder/runs/{id}/execute-next",
post(coder_run_execute_next),
)
.route("/coder/runs/{id}/execute-all", post(coder_run_execute_all))
.route(
"/coder/runs/{id}/follow-on-run",
post(coder_follow_on_run_create),
)
.route("/coder/runs/{id}/approve", post(coder_run_approve))
.route("/coder/runs/{id}/cancel", post(coder_run_cancel))
.route("/coder/runs/{id}/artifacts", get(coder_run_artifacts))
.route("/coder/runs/{id}/memory-hits", get(coder_memory_hits_get))
.route(
"/coder/runs/{id}/triage-inspection-report",
post(coder_triage_inspection_report_create),
)
.route(
"/coder/runs/{id}/triage-reproduction-report",
post(coder_triage_reproduction_report_create),
)
.route(
"/coder/runs/{id}/triage-summary",
post(coder_triage_summary_create),
)
.route(
"/coder/runs/{id}/pr-review-evidence",
post(coder_pr_review_evidence_create),
)
.route(
"/coder/runs/{id}/pr-review-summary",
post(coder_pr_review_summary_create),
)
.route(
"/coder/runs/{id}/issue-fix-validation-report",
post(coder_issue_fix_validation_report_create),
)
.route(
"/coder/runs/{id}/issue-fix-summary",
post(coder_issue_fix_summary_create),
)
.route(
"/coder/runs/{id}/pr-draft",
post(coder_issue_fix_pr_draft_create),
)
.route(
"/coder/runs/{id}/pr-submit",
post(coder_issue_fix_pr_submit),
)
.route(
"/coder/runs/{id}/merge-readiness-report",
post(coder_merge_readiness_report_create),
)
.route(
"/coder/runs/{id}/merge-recommendation-summary",
post(coder_merge_recommendation_summary_create),
)
.route(
"/coder/runs/{id}/merge-submit",
post(super::coder::coder_merge_submit),
)
.route(
"/coder/runs/{id}/memory-candidates",
get(coder_memory_candidate_list).post(coder_memory_candidate_create),
)
.route(
"/coder/runs/{id}/memory-candidates/{candidate_id}/promote",
post(coder_memory_candidate_promote),
)
}