1
0
Fork 0
pique/src/handler/home.rs

23 lines
675 B
Rust

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