diff options
Diffstat (limited to 'src/commit/routes.rs')
-rw-r--r-- | src/commit/routes.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/commit/routes.rs b/src/commit/routes.rs index 95c0faa..95a74a2 100644 --- a/src/commit/routes.rs +++ b/src/commit/routes.rs @@ -70,12 +70,25 @@ async fn delete_commit( .map_err(|e| e) } +/// Endpoint used for getting a raking of the post authors by commit number +async fn get_top_authors(state: web::Data<AppState>) -> impl Responder { + info!(state.log, "GET /commit/top/"); + let result = Commit::most_authors(state.pool.clone()).await; + + result + .map(|authors| HttpResponse::Ok().json(authors)) + .map_err(|e| e) +} + /// Routes for commits pub fn config(cfg: &mut web::ServiceConfig) { cfg.service( web::scope("/commit") .service(web::resource("/").route(web::get().to(index))) .service( + web::resource("/top/").route(web::get().to(get_top_authors)), + ) + .service( web::resource("/{hash}/") .route(web::get().to(get_commit)) .route(web::delete().to(delete_commit)), |