graphbrainz/src/types/label.js

42 lines
812 B
JavaScript
Raw Normal View History

2016-08-20 05:59:32 +00:00
import {
GraphQLObjectType,
GraphQLList,
GraphQLString,
GraphQLInt
} from 'graphql/type'
import Entity from './entity'
import { IPI } from './scalars'
import Area from './area'
import {
id,
name,
sortName,
disambiguation,
lifeSpan,
releases,
fieldWithID,
createPageType
} from './helpers'
const Label = new GraphQLObjectType({
name: 'Label',
description: 'Labels represent mostly (but not only) imprints.',
interfaces: () => [Entity],
fields: () => ({
id,
name,
sortName,
disambiguation,
country: { type: GraphQLString },
area: { type: Area },
lifeSpan,
labelCode: { type: GraphQLInt },
ipis: { type: new GraphQLList(IPI) },
...fieldWithID('type'),
releases
})
})
export const LabelPage = createPageType(Label)
export default Label