#![doc = include_str!("README.md")]
mod artist;
mod mood;
mod playlist;
mod release;
mod user;
use crate::client::{Client, SignedIn};
pub use artist::*;
pub use mood::*;
pub use playlist::*;
pub use release::*;
pub use user::*;
#[derive(Default)]
pub enum TargetAPI {
#[default]
Player,
WWW,
}
pub trait Endpoint: private::Sealed {}
mod private {
use super::EndpointArtist;
pub trait Sealed {}
impl<ClientAuthState> Sealed for EndpointArtist<'_, ClientAuthState> {}
}
pub struct EndpointArtist<'a, ClientAuthState> {
pub client: &'a Client<ClientAuthState>,
}
pub struct EndpointMood<'a, ClientAuthState> {
pub client: &'a Client<ClientAuthState>,
}
pub struct EndpointPlaylist<'a, ClientAuthState> {
pub client: &'a Client<ClientAuthState>,
}
pub struct EndpointRelease<'a, ClientAuthState> {
pub client: &'a Client<ClientAuthState>,
}
pub struct EndpointUser<'a, ClientAuthState = SignedIn> {
pub client: &'a Client<ClientAuthState>,
}