Update dependencies

Adapt to rspotify 0.12 breaking changes
This commit is contained in:
Henrik Friedrichsen
2023-09-10 20:32:07 +02:00
parent c0c7ea8828
commit fcf8223e00
3 changed files with 139 additions and 174 deletions

View File

@@ -19,7 +19,7 @@ use rspotify::model::{
PrivateUser, Recommendations, SavedAlbum, SavedTrack, SearchResult, SearchType, Show, ShowId,
SimplifiedTrack, TrackId, UserId,
};
use rspotify::{prelude::*, AuthCodeSpotify, ClientError, ClientResult, Token};
use rspotify::{prelude::*, AuthCodeSpotify, ClientError, ClientResult, Config, Token};
use std::collections::HashSet;
use std::iter::FromIterator;
use std::sync::{Arc, RwLock};
@@ -37,8 +37,17 @@ pub struct WebApi {
impl Default for WebApi {
fn default() -> Self {
let config = Config {
token_refreshing: false,
..Default::default()
};
let api = AuthCodeSpotify::with_config(
rspotify::Credentials::default(),
rspotify::OAuth::default(),
config,
);
Self {
api: AuthCodeSpotify::default(),
api,
user: None,
worker_channel: Arc::new(RwLock::new(None)),
token_expiration: Arc::new(RwLock::new(Utc::now())),
@@ -152,7 +161,7 @@ impl WebApi {
&self,
playlist_id: &str,
tracks: &[Playable],
position: Option<i32>,
position: Option<u32>,
) -> bool {
self.api_with_retry(|api| {
let trackids: Vec<PlayableId> = tracks
@@ -162,7 +171,7 @@ impl WebApi {
api.playlist_add_items(
PlaylistId::from_id(playlist_id).unwrap(),
trackids.iter().map(|id| id.as_ref()),
position.map(|num| chrono::Duration::milliseconds(num as i64)),
position,
)
})
.is_some()
@@ -269,7 +278,7 @@ impl WebApi {
pub fn album(&self, album_id: &str) -> Option<FullAlbum> {
debug!("fetching album {}", album_id);
let aid = AlbumId::from_id(album_id).ok()?;
self.api_with_retry(|api| api.album(aid.clone()))
self.api_with_retry(|api| api.album(aid.clone(), Some(Market::FromToken)))
}
pub fn artist(&self, artist_id: &str) -> Option<FullArtist> {
@@ -284,7 +293,7 @@ impl WebApi {
pub fn track(&self, track_id: &str) -> Option<FullTrack> {
let tid = TrackId::from_id(track_id).ok()?;
self.api_with_retry(|api| api.track(tid.clone()))
self.api_with_retry(|api| api.track(tid.clone(), Some(Market::FromToken)))
}
pub fn get_show(&self, show_id: &str) -> Option<FullShow> {
@@ -418,6 +427,7 @@ impl WebApi {
self.api_with_retry(|api| {
api.album_track_manual(
AlbumId::from_id(album_id).unwrap(),
Some(Market::FromToken),
Some(limit),
Some(offset),
)
@@ -598,7 +608,7 @@ impl WebApi {
pub fn artist_top_tracks(&self, id: &str) -> Option<Vec<Track>> {
self.api_with_retry(|api| {
api.artist_top_tracks(ArtistId::from_id(id).unwrap(), Market::FromToken)
api.artist_top_tracks(ArtistId::from_id(id).unwrap(), Some(Market::FromToken))
})
.map(|ft| ft.iter().map(|t| t.into()).collect())
}