Skip to main content

fetch_game_media

Function fetch_game_media 

Source
pub async fn fetch_game_media(
    app: &AppHandle,
    playlite_game_id: &str,
    game_name: &str,
) -> Result<GameMedia, String>
Expand description

Busca a mídia (screenshots, trailers, embeds YouTube) de um jogo via GameBrain.

Fluxo:

playlite_game_id (UUID)
  → resolve gamebrain_id (mesmo caminho de fetch_similar_games)
  → cache sqlite gamebrain_media:{gamebrain_id}?  → GameMedia
  → se não: GET /v1/games/{gamebrain_id}
            → extrai apenas campos de mídia
            → classifica vídeos em trailers vs youtube_embeds
            → salva no cache

Cache: TTL configurado em cache.rs pela chave gamebrain_media:. Adicionar ao get_ttl_for_cache_type e cleanup_expired_cache em cache.rs (ver comentário no final deste arquivo).

Parâmetros:

  • playlite_game_id: UUID interno do Playlite
  • game_name: nome do jogo, usado como fallback para resolver o gamebrain_id via /suggestions se não estiver em cache