module Spotify.Types.Albums where import Spotify.Types.Internal.CustomJSON import Spotify.Types.Misc import Spotify.Types.Simple import Data.Aeson (FromJSON) import Data.Text (Text) import GHC.Generics (Generic) data Album = Album { Album -> AlbumType albumType :: AlbumType , Album -> [ArtistSimple] artists :: [ArtistSimple] , Album -> Maybe [Text] availableMarkets :: Maybe [Text] , Album -> [Copyright] copyrights :: [Copyright] , Album -> ExternalIDs externalIds :: ExternalIDs , Album -> ExternalURLs externalUrls :: ExternalURLs , Album -> [Text] genres :: [Text] , Album -> Href href :: Href , Album -> AlbumID id :: AlbumID , Album -> [Image] images :: [Image] , Album -> Text label :: Text , Album -> Text name :: Text , Album -> Int popularity :: Int , Album -> Text releaseDate :: Text , Album -> DatePrecision releaseDatePrecision :: DatePrecision , Album -> Maybe Restrictions restrictions :: Maybe Restrictions , Album -> Paging TrackSimple tracks :: Paging TrackSimple , Album -> URI uri :: URI } deriving (Album -> Album -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Album -> Album -> Bool $c/= :: Album -> Album -> Bool == :: Album -> Album -> Bool $c== :: Album -> Album -> Bool Eq, Eq Album Album -> Album -> Bool Album -> Album -> Ordering Album -> Album -> Album forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: Album -> Album -> Album $cmin :: Album -> Album -> Album max :: Album -> Album -> Album $cmax :: Album -> Album -> Album >= :: Album -> Album -> Bool $c>= :: Album -> Album -> Bool > :: Album -> Album -> Bool $c> :: Album -> Album -> Bool <= :: Album -> Album -> Bool $c<= :: Album -> Album -> Bool < :: Album -> Album -> Bool $c< :: Album -> Album -> Bool compare :: Album -> Album -> Ordering $ccompare :: Album -> Album -> Ordering Ord, Int -> Album -> ShowS [Album] -> ShowS Album -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Album] -> ShowS $cshowList :: [Album] -> ShowS show :: Album -> String $cshow :: Album -> String showsPrec :: Int -> Album -> ShowS $cshowsPrec :: Int -> Album -> ShowS Show, forall x. Rep Album x -> Album forall x. Album -> Rep Album x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Album x -> Album $cfrom :: forall x. Album -> Rep Album x Generic) deriving (Value -> Parser [Album] Value -> Parser Album forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a parseJSONList :: Value -> Parser [Album] $cparseJSONList :: Value -> Parser [Album] parseJSON :: Value -> Parser Album $cparseJSON :: Value -> Parser Album FromJSON) via CustomJSON Album