iwanhae 1 年之前
父節點
當前提交
a57783f2b8
共有 3 個文件被更改,包括 26 次插入4 次删除
  1. 17 4
      searcher/src/server/handler.rs
  2. 1 0
      searcher/src/server/mod.rs
  3. 8 0
      searcher/src/server/types.rs

+ 17 - 4
searcher/src/server/handler.rs

@@ -1,3 +1,4 @@
+use super::types;
 use actix::Addr;
 use actix_web::{get, web::Data, web::Path, HttpResponse, Responder};
 use r2d2::Pool;
@@ -27,10 +28,22 @@ async fn hello(pool: Data<Pool<SqliteConnectionManager>>) -> impl Responder {
         .query_row([], |row| row.get(0))
         .unwrap();
 
-    HttpResponse::Ok().json(json!({
-        "total": count_functions,
-        "analyzed": count_analyses
-    }))
+    let mut samples: Vec<String> = vec![];
+    for row in conn
+        .prepare_cached("SELECT summary FROM function_analyses ORDER BY RANDOM() LIMIT 10;")
+        .unwrap()
+        .query_map([], |row| row.get::<usize, String>(0))
+        .unwrap()
+        .map(|row| row.unwrap())
+    {
+        samples.push(row);
+    }
+
+    HttpResponse::Ok().json(types::ResponseHello {
+        total: count_functions,
+        analyzed: count_analyses,
+        samples: samples,
+    })
 }
 
 #[get("/q/{query}")]

+ 1 - 0
searcher/src/server/mod.rs

@@ -1,2 +1,3 @@
 pub mod handler;
+mod types;
 mod utils;

+ 8 - 0
searcher/src/server/types.rs

@@ -0,0 +1,8 @@
+use serde::Serialize;
+
+#[derive(Serialize)]
+pub struct ResponseHello {
+    pub total: u64,
+    pub analyzed: u64,
+    pub samples: Vec<String>,
+}