summaryrefslogtreecommitdiff
path: root/src/commit/routes.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commit/routes.rs')
-rw-r--r--src/commit/routes.rs13
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)),