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}