pub struct ExactScrobbleEdit {
pub track_name_original: String,
pub album_name_original: String,
pub artist_name_original: String,
pub album_artist_name_original: String,
pub track_name: String,
pub album_name: String,
pub artist_name: String,
pub album_artist_name: String,
pub timestamp: u64,
pub edit_all: bool,
}Expand description
Internal representation of a scrobble edit with all fields fully specified.
This type is used internally by the client after enriching metadata from
Last.fm. Unlike ScrobbleEdit, all fields are required and non-optional,
ensuring we have complete information before performing edit operations.
This type represents a fully-specified scrobble edit where all fields are known.
Fields§
§track_name_original: StringOriginal track name as it appears in the scrobble
album_name_original: StringOriginal album name as it appears in the scrobble
artist_name_original: StringOriginal artist name as it appears in the scrobble
album_artist_name_original: StringOriginal album artist name as it appears in the scrobble
track_name: StringNew track name to set
album_name: StringNew album name to set
artist_name: StringNew artist name to set
album_artist_name: StringNew album artist name to set
timestamp: u64Unix timestamp of the scrobble to edit
edit_all: boolWhether to edit all instances or just this specific scrobble
Implementations§
Source§impl ExactScrobbleEdit
impl ExactScrobbleEdit
Sourcepub fn new(
track_name_original: String,
album_name_original: String,
artist_name_original: String,
album_artist_name_original: String,
track_name: String,
album_name: String,
artist_name: String,
album_artist_name: String,
timestamp: u64,
edit_all: bool,
) -> Self
pub fn new( track_name_original: String, album_name_original: String, artist_name_original: String, album_artist_name_original: String, track_name: String, album_name: String, artist_name: String, album_artist_name: String, timestamp: u64, edit_all: bool, ) -> Self
Create a new ExactScrobbleEdit with all fields specified.
Sourcepub fn build_form_data(&self, csrf_token: &str) -> HashMap<&str, String>
pub fn build_form_data(&self, csrf_token: &str) -> HashMap<&str, String>
Build the form data for submitting this scrobble edit.
This creates a HashMap containing all the form fields needed to submit the edit request to Last.fm, including the CSRF token and all metadata fields.
Sourcepub fn to_scrobble_edit(&self) -> ScrobbleEdit
pub fn to_scrobble_edit(&self) -> ScrobbleEdit
Convert this exact edit back to a public ScrobbleEdit.
This is useful when you need to expose the edit data through the public API.
Trait Implementations§
Source§impl AsyncDiscoveryIterator<ExactScrobbleEdit> for AlbumTracksDiscovery
impl AsyncDiscoveryIterator<ExactScrobbleEdit> for AlbumTracksDiscovery
Source§fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl AsyncDiscoveryIterator<ExactScrobbleEdit> for ArtistTracksDiscovery
impl AsyncDiscoveryIterator<ExactScrobbleEdit> for ArtistTracksDiscovery
Source§fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl AsyncDiscoveryIterator<ExactScrobbleEdit> for ExactMatchDiscovery
impl AsyncDiscoveryIterator<ExactScrobbleEdit> for ExactMatchDiscovery
Source§fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl AsyncDiscoveryIterator<ExactScrobbleEdit> for TrackVariationsDiscovery
impl AsyncDiscoveryIterator<ExactScrobbleEdit> for TrackVariationsDiscovery
Source§fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<Option<ExactScrobbleEdit>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl Clone for ExactScrobbleEdit
impl Clone for ExactScrobbleEdit
Source§fn clone(&self) -> ExactScrobbleEdit
fn clone(&self) -> ExactScrobbleEdit
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExactScrobbleEdit
impl Debug for ExactScrobbleEdit
Source§impl<'de> Deserialize<'de> for ExactScrobbleEdit
impl<'de> Deserialize<'de> for ExactScrobbleEdit
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for ExactScrobbleEdit
impl Display for ExactScrobbleEdit
Source§impl Hash for ExactScrobbleEdit
impl Hash for ExactScrobbleEdit
Source§impl PartialEq for ExactScrobbleEdit
impl PartialEq for ExactScrobbleEdit
Source§impl Serialize for ExactScrobbleEdit
impl Serialize for ExactScrobbleEdit
impl Eq for ExactScrobbleEdit
impl StructuralPartialEq for ExactScrobbleEdit
Auto Trait Implementations§
impl Freeze for ExactScrobbleEdit
impl RefUnwindSafe for ExactScrobbleEdit
impl Send for ExactScrobbleEdit
impl Sync for ExactScrobbleEdit
impl Unpin for ExactScrobbleEdit
impl UnwindSafe for ExactScrobbleEdit
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.