mirror of
https://github.com/BradNut/graphbrainz
synced 2025-09-08 17:40:32 +00:00
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
import { GraphQLObjectType, GraphQLString } from 'graphql/type'
|
|
import Artist from './artist'
|
|
|
|
export default new GraphQLObjectType({
|
|
name: 'ArtistCredit',
|
|
description: `[Artist credits](https://musicbrainz.org/doc/Artist_Credits)
|
|
indicate who is the main credited artist (or artists) for releases, release
|
|
groups, tracks and recordings, and how they are credited. They consist of
|
|
artists, with (optionally) their names as credited in the specific release,
|
|
track, etc., and join phrases between them.`,
|
|
fields: () => ({
|
|
artist: {
|
|
type: Artist,
|
|
description: `The entity representing the artist referenced in the
|
|
credits.`,
|
|
resolve: (source) => {
|
|
const { artist } = source
|
|
if (artist) {
|
|
artist._type = 'artist'
|
|
}
|
|
return artist
|
|
}
|
|
},
|
|
name: {
|
|
type: GraphQLString,
|
|
description: `The name of the artist as credited in the specific release,
|
|
track, etc.`
|
|
},
|
|
joinPhrase: {
|
|
type: GraphQLString,
|
|
description: `Join phrases might include words and/or punctuation to
|
|
separate artist names as they appear on the release, track, etc.`,
|
|
resolve: data => data['joinphrase']
|
|
}
|
|
})
|
|
})
|