1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/// Authentication module for the Qobuz API.
///
/// This module provides functionality for authenticating with the Qobuz API,
/// including user login with credentials or tokens, and password reset capabilities.
/// It handles the management of authentication tokens required for accessing
/// protected API endpoints.
/// Content modules for the Qobuz API.
///
/// This module contains various submodules that handle different types of content available
/// through the Qobuz API, including albums, artists, catalogs, labels, playlists, and tracks.
/// Each submodule provides specific functionality for interacting with the corresponding
/// content type on the Qobuz platform.
///
/// # Example
///
/// ```no_run
/// use qobuz_api_rust::QobuzApiService;
///
/// #[tokio::main]
/// async fn main() -> Result<(), Box<dyn std::error::Error>> {
/// let service = QobuzApiService::new().await?;
///
/// // Search for albums
/// let albums = service.search_albums("radiohead", Some(10), None, None).await?;
///
/// // Get a specific track
/// let track = service.get_track("12345", None).await?;
///
/// Ok(())
/// }
/// ```
/// Favorites management module for the Qobuz API.
///
/// This module provides functionality for managing user favorites, including adding,
/// removing, and retrieving favorite tracks, albums, and artists. It requires user
/// authentication to access and modify the user's favorites.
/// HTTP request handling module for the Qobuz API.
///
/// This module contains the core request functions used to communicate with the Qobuz API.
/// It handles GET, POST, and signed GET requests with proper authentication, parameter
/// handling, and response parsing. The functions in this module are used by other API
/// modules to make actual HTTP calls to the Qobuz API endpoints.
/// Main service module for the Qobuz API.
///
/// This module contains the core `QobuzApiService` struct and its implementation,
/// which serves as the main interface for interacting with the Qobuz API. It handles
/// authentication, credential management, and provides methods for accessing all
/// available API endpoints through a unified interface.