diff options
Diffstat (limited to 'apps/servers/octopus/src/pages/files.rs')
-rw-r--r-- | apps/servers/octopus/src/pages/files.rs | 19 |
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(); |