File: swapi.graphql

package info (click to toggle)
golang-github-vektah-gqlparser 2.5.31-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,120 kB
  • sloc: javascript: 204; sh: 46; makefile: 11
file content (146 lines) | stat: -rw-r--r-- 4,162 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
schema {
	query: Query
	mutation: Mutation
	subscription: Subscription
}
# The query type, represents all of the entry points into our object graph
type Query {
	hero(episode: Episode): Character
	reviews(episode: Episode!): [Review]
	search(text: String): [SearchResult]
	character(id: ID!): Character
	droid(id: ID!): Droid
	human(id: ID!): Human
	starship(id: ID!): Starship
}
# The mutation type, represents all updates we can make to our data
type Mutation {
	createReview(episode: Episode, review: ReviewInput!): Review
}
# The subscription type, represents all subscriptions we can make to our data
type Subscription {
	reviewAdded(episode: Episode): Review
}
# The episodes in the Star Wars trilogy
enum Episode {
	# Star Wars Episode IV: A New Hope, released in 1977.
	NEWHOPE
	# Star Wars Episode V: The Empire Strikes Back, released in 1980.
	EMPIRE
	# Star Wars Episode VI: Return of the Jedi, released in 1983.
	JEDI
}
# A character from the Star Wars universe
interface Character {
	# The ID of the character
	id: ID!
	# The name of the character
	name: String!
	# The friends of the character, or an empty list if they have none
	friends: [Character]
	# The friends of the character exposed as a connection with edges
	friendsConnection(first: Int, after: ID): FriendsConnection!
	# The movies this character appears in
	appearsIn: [Episode]!
}
# Units of height
enum LengthUnit {
	# The standard unit around the world
	METER
	# Primarily used in the United States
	FOOT
}
# A humanoid creature from the Star Wars universe
type Human implements Character {
	# The ID of the human
	id: ID!
	# What this human calls themselves
	name: String!
	# The home planet of the human, or null if unknown
	homePlanet: String
	# Height in the preferred unit, default is meters
	height(unit: LengthUnit = METER): Float
	# Mass in kilograms, or null if unknown
	mass: Float
	# This human's friends, or an empty list if they have none
	friends: [Character]
	# The friends of the human exposed as a connection with edges
	friendsConnection(first: Int, after: ID): FriendsConnection!
	# The movies this human appears in
	appearsIn: [Episode]!
	# A list of starships this person has piloted, or an empty list if none
	starships: [Starship]
}
# An autonomous mechanical character in the Star Wars universe
type Droid implements Character {
	# The ID of the droid
	id: ID!
	# What others call this droid
	name: String!
	# This droid's friends, or an empty list if they have none
	friends: [Character]
	# The friends of the droid exposed as a connection with edges
	friendsConnection(first: Int, after: ID): FriendsConnection!
	# The movies this droid appears in
	appearsIn: [Episode]!
	# This droid's primary function
	primaryFunction: String
}
# A connection object for a character's friends
type FriendsConnection {
	# The total number of friends
	totalCount: Int
	# The edges for each of the character's friends.
	edges: [FriendsEdge]
	# A list of the friends, as a convenience when edges are not needed.
	friends: [Character]
	# Information for paginating this connection
	pageInfo: PageInfo!
}
# An edge object for a character's friends
type FriendsEdge {
	# A cursor used for pagination
	cursor: ID!
	# The character represented by this friendship edge
	node: Character
}
# Information for paginating this connection
type PageInfo {
	startCursor: ID
	endCursor: ID
	hasNextPage: Boolean!
}
# Represents a review for a movie
type Review {
	# The movie
	episode: Episode
	# The number of stars this review gave, 1-5
	stars: Int!
	# Comment about the movie
	commentary: String
}
# The input object sent when someone is creating a new review
input ReviewInput {
	# 0-5 stars
	stars: Int!
	# Comment about the movie, optional
	commentary: String
	# Favorite color, optional
	favorite_color: ColorInput
}
# The input object sent when passing in a color
input ColorInput {
	red: Int!
	green: Int!
	blue: Int!
}
type Starship {
	# The ID of the starship
	id: ID!
	# The name of the starship
	name: String!
	# Length of the starship, along the longest axis
	length(unit: LengthUnit = METER): Float
	coordinates: [[Float!]!]
}
union SearchResult = Human | Droid | Starship