use axum::http::StatusCode; use axum::response::Redirect; use axum_login::AuthSession; use crate::models::projects::Project; use crate::permissions; use crate::prelude::*; pub async fn home_page( State(provider): State, auth_session: AuthSession, ) -> Result { if let Some(user) = auth_session.user { let mut db = provider.db_pool.get().unwrap(); let projects: Vec = permissions::query::accessible_projects(&mut db, &user.id).unwrap(); let values = context! { user => user, projects => projects, }; provider.render_resp("home.html", values) } else { Ok(Redirect::to("/login").into_response()) } }