summaryrefslogtreecommitdiffstats
path: root/src/routes/home.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/home.rs')
-rw-r--r--src/routes/home.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/routes/home.rs b/src/routes/home.rs
new file mode 100644
index 0000000..11d3a72
--- /dev/null
+++ b/src/routes/home.rs
@@ -0,0 +1,21 @@
+use actix_session::Session;
+use actix_web::{get, web, HttpResponse};
+
+use crate::templates;
+use crate::{Pinussy, Result};
+
+#[get("/")]
+async fn get(session: Session, state: web::Data<Pinussy>) -> Result<HttpResponse> {
+ let username: Option<String>;
+ if let Some(user_id) = session.get::<i32>("user_id")? {
+ username = Some(
+ sqlx::query!("select username from users where id = $1", user_id)
+ .fetch_one(&state.db)
+ .await?
+ .username,
+ )
+ } else {
+ username = None
+ }
+ return Ok(HttpResponse::Ok().body(render!(templates::home_html, username).unwrap()));
+}