game_manager_lib\utils/
status_logic.rs

1//! Lógica de negócios compartilhada para jogos.
2
3/// Calcula o status do jogo baseado no tempo jogado (em minutos).
4///
5/// **Regras:**
6/// - 0 min: **backlog**
7/// - < 2h (120 min): **abandoned** (testou e parou)
8/// - < 30h (1800 min): **playing**
9/// - > 30h: **completed**
10pub fn calculate_status(playtime_minutes: i32) -> String {
11    if playtime_minutes == 0 {
12        "backlog".to_string()
13    } else if playtime_minutes < 120 {
14        "abandoned".to_string()
15    } else if playtime_minutes < 1800 {
16        "playing".to_string()
17    } else {
18        "completed".to_string()
19    }
20}