use actix_web::{HttpResponse, HttpRequest, web, post}; use sqlx::PgPool; use uuid::Uuid; use crate::{ http_error::HttpError, auth::user_auth, models::{ session::Session, game::Game } }; #[post("/game/{game_id}/session")] pub async fn route( db: web::Data, path: web::Path, req: HttpRequest ) -> Result { let user = user_auth(&db, &req, true).await?; let game_id = Uuid::parse_str(&path.into_inner())?; let game = Game::get_one(&db, game_id, Some(user.id)).await?; let session = Session::new(game.id); session.insert(&db).await?; Ok(HttpResponse::Ok().json(session)) }