### This file was autogenerated by GraphQL Nexus
### Do not make changes to this file directly

interface Character {
  """
  Which movies they appear in.
  """
  appearsIn(id: ID!): [Episode!]!

  """
  The friends of the character, or an empty list if they have none.
  """
  friends: [Character!]!

  """
  The id of the character
  """
  id: String!

  """
  The name of the character
  """
  name: String!
}

"""
A mechanical creature in the Star Wars universe.
"""
type Droid implements Character {
  """
  Which movies they appear in.
  """
  appearsIn(id: ID!): [Episode!]!

  """
  The friends of the character, or an empty list if they have none.
  """
  friends: [Character!]!

  """
  The id of the character
  """
  id: String!

  """
  The name of the character
  """
  name: String!

  """
  The primary function of the droid.
  """
  primaryFunction: String!
}

"""
One of the films in the Star Wars Trilogy
"""
enum Episode {
  """
  Released in 1980.
  """
  EMPIRE

  """
  Released in 1983
  """
  JEDI

  """
  Released in 1977.
  """
  NEWHOPE
}

"""
A humanoid creature in the Star Wars universe.
"""
type Human implements Character {
  """
  Which movies they appear in.
  """
  appearsIn(id: ID!): [Episode!]!

  """
  The friends of the character, or an empty list if they have none.
  """
  friends: [Character!]!

  """
  The home planet of the human, or null if unknown.
  """
  homePlanet: String

  """
  The id of the character
  """
  id: String!

  """
  The name of the character
  """
  name: String!
}

enum MoreEpisodes {
  """
  Released in 1980.
  """
  EMPIRE

  """
  Released in 1983
  """
  JEDI

  """
  Released in 1977.
  """
  NEWHOPE
  OTHER
}

type Query {
  droid(
    """
    id of the character
    """
    id: String!
  ): Droid!
  hero(
    """
    If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.
    """
    episode: Episode
  ): Character!
  human(
    """
    id of the character
    """
    id: String!
  ): Human!
}
