using octo_fiesta.Models; namespace octo_fiesta.Services; /// /// Interface pour le service de recherche de métadonnées musicales externes /// (Deezer API, Spotify API, MusicBrainz, etc.) /// public interface IMusicMetadataService { /// /// Recherche des chansons sur les providers externes /// /// Terme de recherche /// Nombre maximum de résultats /// Liste des chansons trouvées Task> SearchSongsAsync(string query, int limit = 20); /// /// Recherche des albums sur les providers externes /// Task> SearchAlbumsAsync(string query, int limit = 20); /// /// Recherche des artistes sur les providers externes /// Task> SearchArtistsAsync(string query, int limit = 20); /// /// Recherche combinée (chansons, albums, artistes) /// Task SearchAllAsync(string query, int songLimit = 20, int albumLimit = 20, int artistLimit = 20); /// /// Récupère les détails d'une chanson externe /// Task GetSongAsync(string externalProvider, string externalId); /// /// Récupère les détails d'un album externe avec ses chansons /// Task GetAlbumAsync(string externalProvider, string externalId); /// /// Récupère les détails d'un artiste externe /// Task GetArtistAsync(string externalProvider, string externalId); /// /// Récupère les albums d'un artiste /// Task> GetArtistAlbumsAsync(string externalProvider, string externalId); }