diff --git a/src/search_result.rs b/src/search_result.rs
new file mode 100644
index 0000000..bd35e19
--- /dev/null
+++ b/src/search_result.rs
@@ -0,0 +1,30 @@
+use serde::Serialize;
+
+use crate::elastic_response::File;
+
+#[derive(Debug, Serialize)]
+pub struct SearchResult {
+ pub name: String,
+ pub modified: String,
+ pub size: usize,
+}
+
+impl SearchResult {
+ pub fn to_html(&self) -> String {
+ format!(
+ "
{name}({size} Bytes){modified}",
+ name = self.name,
+ size = self.size,
+ modified = self.modified
+ )
+ }
+}
+impl From<&File> for SearchResult {
+ fn from(file: &File) -> Self {
+ Self {
+ name: file.filename.clone(),
+ modified: file.last_modified.clone(),
+ size: file.filesize,
+ }
+ }
+}
diff --git a/src/server.rs b/src/server.rs
index 7068b0b..05b2919 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -68,7 +68,11 @@ fn search_to_html(results: Vec) -> String {
.map(|res| res.to_html())
.collect::>()
.join("\n");
- let body = format!("", res_html);
+ let body = format!(
+ "Yay, found the following {} lists!
",
+ results.len(),
+ res_html
+ );
HTML_TEMPLATE.replace("{body}", &body)
}
fn redirect(req: &Request) -> Response {