use crate::resource::ErrorResponse;
use reqwest::header::InvalidHeaderValue;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("Missing resource data on a resource")]
MissingResourceData,
#[error("Invalid resource type")]
InvalidResourceType,
#[error("Apple music error: {0:#?}")]
MusicError(ErrorResponse),
#[error("Invalid header value")]
InvalidHeaderValue(#[from] InvalidHeaderValue),
#[error(transparent)]
Reqwest(#[from] reqwest::Error),
#[error(transparent)]
TinyTemplate(#[from] tinytemplate::error::Error),
#[error(transparent)]
Json(#[from] serde_json::Error),
}