aboutsummaryrefslogtreecommitdiff
path: root/apps/servers/octopus/src/pages/files.rs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/servers/octopus/src/pages/files.rs')
-rw-r--r--apps/servers/octopus/src/pages/files.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/apps/servers/octopus/src/pages/files.rs b/apps/servers/octopus/src/pages/files.rs
index 73a86a46918e..0f50d6b4722c 100644
--- a/apps/servers/octopus/src/pages/files.rs
+++ b/apps/servers/octopus/src/pages/files.rs
@@ -1,17 +1,30 @@
//! The main file browser
-use crate::templ_data::{files::Files, BaseData};
+use crate::{
+ git,
+ templ_data::{files::Files, BaseData},
+};
use actix_web::{web, HttpRequest, HttpResponse, Result};
use askama::Template;
-pub async fn render(req: HttpRequest) -> Result<HttpResponse> {
+pub async fn render((req, path): (HttpRequest, web::Path<String>)) -> Result<HttpResponse> {
+ let repo = git::open();
+ let branch = repo.get_branch("main".into()).unwrap(); // FIXME: this is baaaaad
+ let head = branch.get_head();
+ let tree = head.get_tree();
+
+ debug!("Loading path: `{}`", path);
+ let _yield = tree.load(&path).unwrap();
+ debug!("{:#?}", _yield);
+
+
let files = Files {
base: BaseData {
sitename: "dev.spacekookie.de".into(),
..BaseData::default()
},
readme: None,
- path: "".into(),
+ path: "/".into(),
}
.render()
.unwrap();