add refresh state from file

This commit is contained in:
2026-01-11 19:13:56 +01:00
parent db417e50d9
commit 0eea1b1ff4
6 changed files with 179 additions and 3 deletions
+26
View File
@@ -160,6 +160,31 @@ async fn delete_game(
None
}
#[post("/refresh")]
async fn refresh_state(
_token: auth::AdminToken,
game_list: &rocket::State<Mutex<Vec<Game>>>,
user_list: &rocket::State<Mutex<Vec<User>>>,
) -> items::RefreshResponse {
if let Some((new_games, new_users)) = store::load_state() {
let mut games = game_list.lock().await;
let mut users = user_list.lock().await;
*games = new_games;
*users = new_users;
items::RefreshResponse {
success: true,
message: "State refreshed from file".to_string(),
}
} else {
items::RefreshResponse {
success: false,
message: "Failed to load state from file".to_string(),
}
}
}
#[post("/opinion", data = "<req>")]
async fn add_opinion(
token: auth::Token,
@@ -405,6 +430,7 @@ async fn main() -> Result<(), std::io::Error> {
add_game,
update_game,
delete_game,
refresh_state,
get_game_thumbnail,
get_games_batch
],