pub async fn import_steam_library(
state: State<'_, AppState>,
api_key: String,
steam_id: String,
) -> Result<String, AppError>Expand description
Importa toda a biblioteca de jogos Steam do usuário.
Conecta-se à API Steam para buscar a lista completa de jogos possuídos e adiciona todos ao banco de dados local com informações básicas.
Processo:
- Busca jogos via Steam WEB API (‘IPlayerService/GetOwnedGames’)
- Monta URLs de capas usando CDN da Steam
- Converte playtime de minutos para horas
- Insere em lote usando transação SQL
- Usa ‘INSERT OR IGNORE’ para evitar duplicatas
Nota:
- Biblioteca privada retorna erro de autenticação
- Jogos gratuitos jogados são incluídos automaticamente
- Jogos gratuitos não jogados ou que foram desinstalados podem não são serem retornados pela API
- Tempo de jogo é arredondado para horas inteiras
- Esta operação não aplica rate limit por usar apenas uma chamada de API.