discogs-haskell-0.0.5.0: src/Discogs/Types/Master.hs
{-# LANGUAGE DeriveGeneric #-}
module Discogs.Types.Master where
import GHC.Generics
import Control.Applicative
import Control.Monad
import Data.Aeson
import Data.Monoid
import Data.Text (Text)
import Network.API.Builder.Query
import Discogs.Types.Artist
import Discogs.Types.Label
import Discogs.Types.User
import Discogs.Types.Release
import Discogs.Types.Pagination
-- | This is required to look up a master release. Example: \'1000\'
data MasterID = MasterID Text
deriving (Show, Read, Eq, Ord, Generic)
instance FromJSON MasterID
-- | The Master resource represents a set of similar Releases.
-- Masters (also known as “master releases”) have a “main release” which is
-- often the chronologically earliest.
data Master =
Master {
title :: Text
, id :: Int
, artists :: !Array
, data_quality :: Text
, genres :: [Text]
, images :: Maybe Array
, main_release :: Int
, main_release_url :: Text
, resource_url :: Maybe Text
, styles :: [Text]
, tracklist :: !Array
, uri :: Text
, videos :: Maybe Array
, versions_url :: Text
, year :: Maybe Int }
deriving (Show, Eq, Generic)
instance FromJSON Master
-- | This is a list of type MasterVersion.
data MasterVersionsList =
MasterVersionsList {
pagination :: Pagination
, versions :: !Array }
deriving (Show, Eq, Generic)
instance FromJSON MasterVersionsList