graphbrainz/src/extensions/the-audio-db/schema.js
Brian Beck 898ec78a6f Add a schema extension API and several extensions (#42)
* Add a schema extension API and several extensions
* Update graphql-markdown to use new diffSchema function
* Update Node support
2017-10-19 01:00:21 -07:00

231 lines
6.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export default `
# The image sizes that may be requested at [TheAudioDB](http://www.theaudiodb.com/).
enum TheAudioDBImageSize {
# The images full original dimensions.
FULL
# A maximum dimension of 200px.
PREVIEW
}
# An artist on [TheAudioDB](http://www.theaudiodb.com/).
type TheAudioDBArtist {
# TheAudioDB ID of the artist.
artistID: ID
# A biography of the artist, often available in several languages.
biography(
# The two-letter code for the language in which to retrieve the biography.
lang: String = "en"
): String
# The number of members in the musical group, if applicable.
memberCount: Int
# A 1000x185 JPG banner image containing the artist and their logo or name.
banner(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# A list of 1280x720 or 1920x1080 JPG images depicting the artist.
fanArt(
# The size of the images to retrieve.
size: TheAudioDBImageSize = FULL
): [URLString]!
# A 400x155 PNG image containing the artists logo or name, with a transparent
# background.
logo(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# A 1000x1000 JPG thumbnail image picturing the artist (usually containing
# every member of a band).
thumbnail(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# The primary musical genre of the artist (e.g. “Alternative Rock”).
genre: String
# The primary musical mood of the artist (e.g. “Sad”).
mood: String
# The primary musical style of the artist (e.g. “Rock/Pop”).
style: String
}
# An album on [TheAudioDB](http://www.theaudiodb.com/) corresponding with a
# MusicBrainz Release Group.
type TheAudioDBAlbum {
# TheAudioDB ID of the album.
albumID: ID
# TheAudioDB ID of the artist who released the album.
artistID: ID
# A description of the album, often available in several languages.
description(
# The two-letter code for the language in which to retrieve the biography.
lang: String = "en"
): String
# A review of the album.
review: String
# The worldwide sales figure.
salesCount: Int
# The albums rating as determined by user votes, out of 10.
score: Float
# The number of users who voted to determine the albums score.
scoreVotes: Int
# An image of the physical disc media for the album.
discImage(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# An image of the spine of the album packaging.
spineImage(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# An image of the front of the album packaging.
frontImage(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# An image of the back of the album packaging.
backImage(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# The primary musical genre of the album (e.g. “Alternative Rock”).
genre: String
# The primary musical mood of the album (e.g. “Sad”).
mood: String
# The primary musical style of the album (e.g. “Rock/Pop”).
style: String
# A rough description of the primary musical speed of the album (e.g. “Medium”).
speed: String
# The primary musical theme of the album (e.g. “In Love”).
theme: String
}
# A track on [TheAudioDB](http://www.theaudiodb.com/) corresponding with a
# MusicBrainz Recording.
type TheAudioDBTrack {
# TheAudioDB ID of the track.
trackID: ID
# TheAudioDB ID of the album on which the track appears.
albumID: ID
# TheAudioDB ID of the artist who released the track.
artistID: ID
# A description of the track.
description(
lang: String = "en"
): String
# A thumbnail image for the track.
thumbnail(
# The size of the image to retrieve.
size: TheAudioDBImageSize = FULL
): URLString
# The tracks rating as determined by user votes, out of 10.
score: Float
# The number of users who voted to determine the albums score.
scoreVotes: Int
# The track number of the song on the album.
trackNumber: Int
# The official music video for the track.
musicVideo: TheAudioDBMusicVideo
# The primary musical genre of the track (e.g. “Alternative Rock”).
genre: String
# The primary musical mood of the track (e.g. “Sad”).
mood: String
# The primary musical style of the track (e.g. “Rock/Pop”).
style: String
# The primary musical theme of the track (e.g. “In Love”).
theme: String
}
# Details of a music video associated with a track on [TheAudioDB](http://www.theaudiodb.com/).
type TheAudioDBMusicVideo {
# The URL where the music video can be found.
url: URLString
# The video production company of the music video.
companyName: String
# The director of the music video.
directorName: String
# A list of still images from the music video.
screenshots(
# The size of the images to retrieve.
size: TheAudioDBImageSize = FULL
): [URLString]!
# The number of views the video has received at the given URL. This will rarely
# be up to date, so use cautiously.
viewCount: Int
# The number of likes the video has received at the given URL. This will rarely
# be up to date, so use cautiously.
likeCount: Int
# The number of dislikes the video has received at the given URL. This will
# rarely be up to date, so use cautiously.
dislikeCount: Int
# The number of comments the video has received at the given URL. This will
# rarely be up to date, so use cautiously.
commentCount: Int
}
extend type Artist {
# Data about the artist from [TheAudioDB](http://www.theaudiodb.com/), a good
# source of biographical information and images.
# This field is provided by TheAudioDB extension.
theAudioDB: TheAudioDBArtist
}
extend type Recording {
# Data about the recording from [TheAudioDB](http://www.theaudiodb.com/).
# This field is provided by TheAudioDB extension.
theAudioDB: TheAudioDBTrack
}
extend type ReleaseGroup {
# Data about the release group from [TheAudioDB](http://www.theaudiodb.com/),
# a good source of descriptive information, reviews, and images.
# This field is provided by TheAudioDB extension.
theAudioDB: TheAudioDBAlbum
}
`