use std::collections::HashMap; use super::ui::{account::session::Session, error::MyResult}; use jellybase::database::Database; use rocket::{post, State}; #[post("/n//progress?")] pub async fn r_player_progress( session: Session, db: &State, id: &str, t: Option, ) -> MyResult<()> { db.user_progess.fetch_and_update(&session.user.name, |p| { let mut m = p.unwrap_or_else(|| HashMap::new()); if let Some(t) = t { m.insert(id.to_string(), t); } else { m.remove(&id.to_string()); } if m.is_empty() { None } else { Some(m) } })?; Ok(()) }