diff options
Diffstat (limited to 'src/routes/home.rs')
-rw-r--r-- | src/routes/home.rs | 21 |
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())); +} |