Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Expected null to be a GraphQL composite type. #2

Open
yang opened this issue Aug 21, 2017 · 1 comment
Open

Error: Expected null to be a GraphQL composite type. #2

yang opened this issue Aug 21, 2017 · 1 comment

Comments

@yang
Copy link

yang commented Aug 21, 2017

Using just the default schema.graphql in master, I get:

$ yarn install
...

$ yarn run -- relay-compiler --src ./src --schema ./schema.graphql
yarn run v0.27.5
$ "/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/.bin/relay-compiler" "--src" "./src" "--schema" "./schema.graphql"
HINT: pass --watch to keep watching for changes.
Parsed default in 0.14s

Writing default
Error: Error loading schema. Expected the schema to be a .graphql or a .json
file, describing your GraphQL server's API. Error detail:

Error: Type "SignupUserInput" was defined more than once.
    at buildASTSchema (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/graphql/utilities/buildASTSchema.js:111:17)
    at _getSchema (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:184:13)
    at Object.getSchema (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:103:19)
    at RelayCodegenRunner.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:4749:48)
    at next (native)
    at step (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14
    at Promise.F (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/core-js/library/modules/_export.js:35:28)
    at RelayCodegenRunner.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12)
    at RelayCodegenRunner.write (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:4829:21)
    at _getSchema (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:186:12)
    at Object.getSchema (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:103:19)
    at RelayCodegenRunner.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:4749:48)
    at next (native)
    at step (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
    at /Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:35:14
    at Promise.F (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/core-js/library/modules/_export.js:35:28)
    at RelayCodegenRunner.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/babel-runtime/helpers/asyncToGenerator.js:14:12)
    at RelayCodegenRunner.write (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:4829:21)
    at RelayCodegenRunner.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:4653:41)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

If I run with my own graphcool project schema as documented, I get:

$ get-graphql-schema https://api.graph.cool/relay/v1/cj6eo8cw84ssw0121eh3p14j7 > schema.graphql

$ yarn run -- relay-compiler --src ./src --schema ./schema.graphql
yarn run v0.27.5
$ "/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/.bin/relay-compiler" "--src" "./src" "--schema" "./schema.graphql"
HINT: pass --watch to keep watching for changes.
Parsed default in 0.13s

Writing default
Error: Expected null to be a GraphQL composite type.
    at invariant (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/graphql/jsutils/invariant.js:19:11)
    at assertCompositeType (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/graphql/type/definition.js:113:27)
    at RelayParser._transformOperation (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:2192:17)
    at RelayParser.transform (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:2089:22)
    at Object.transform (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:2058:18)
    at /Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:1110:37
    at Array.map (native)
    at convertASTDefinitions (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:1109:32)
    at Object.convertASTDocumentsWithBase (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:1090:11)
    at RelayFileWriter.<anonymous> (/Users/yang/proj/data-mgmt-research/howtographql/react-relay/node_modules/relay-compiler/bin/relay-compiler:5317:50)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

$ cat schema.graphql
type AddToUsersLinksPayload {
  viewer: Viewer!
  clientMutationId: String!
  postedByUser: User
  linksLink: Link
  postedByUserEdge: UserEdge
  linksLinkEdge: LinkEdge
}

input AddToUsersLinksUserInput {
  linksLinkId: ID!
  postedByUserId: ID!
  clientMutationId: String!
}

type AddToUsersVotesPayload {
  viewer: Viewer!
  clientMutationId: String!
  userUser: User
  votesVote: Vote
  userUserEdge: UserEdge
  votesVoteEdge: VoteEdge
}

input AddToUsersVotesUserInput {
  votesVoteId: ID!
  userUserId: ID!
  clientMutationId: String!
}

input AddToVotesOnLinkLinkInput {
  votesVoteId: ID!
  linkLinkId: ID!
  clientMutationId: String!
}

type AddToVotesOnLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  linkLink: Link
  votesVote: Vote
  linkLinkEdge: LinkEdge
  votesVoteEdge: VoteEdge
}

input AUTH_PROVIDER_EMAIL {
  email: String!
  password: String!
}

input AuthProviderSignupData {
  email: AUTH_PROVIDER_EMAIL
}

input CreateFile {
  name: String!
}

input CreateFileInput {
  name: String!
  clientMutationId: String!
}

type CreateFilePayload {
  viewer: Viewer!
  clientMutationId: String!
  file: File
  edge: FileEdge
}

input CreateLink {
  description: String!
  url: String!
  postedById: ID
  votesIds: [ID!]
  votes: [LinkvotesVote!]
}

input CreateLinkInput {
  description: String!
  url: String!
  postedById: ID
  votesIds: [ID!]
  votes: [LinkvotesVote!]
  clientMutationId: String!
}

type CreateLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  link: Link
  edge: LinkEdge
  postedBy: User
}

input CreateUser {
  name: String!
  linksIds: [ID!]
  links: [UserlinksLink!]
  votesIds: [ID!]
  votes: [UservotesVote!]
}

# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.
type CreateUserPayload {
  user: User
  clientMutationId: String
  viewer: Viewer!
}

input CreateVote {
  linkId: ID
  link: VotelinkLink
  userId: ID
}

input CreateVoteInput {
  linkId: ID
  link: VotelinkLink
  userId: ID
  clientMutationId: String!
}

type CreateVotePayload {
  viewer: Viewer!
  clientMutationId: String!
  vote: Vote
  edge: VoteEdge
  link: Link
  user: User
}

scalar DateTime

input DeleteFileInput {
  id: ID!
  clientMutationId: String!
}

type DeleteFilePayload {
  viewer: Viewer!
  clientMutationId: String!
  file: File
  edge: FileEdge
  deletedId: ID
}

input DeleteLinkInput {
  id: ID!
  clientMutationId: String!
}

type DeleteLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  link: Link
  edge: LinkEdge
  postedBy: User
  deletedId: ID
}

input DeleteUserInput {
  id: ID!
  clientMutationId: String!
}

type DeleteUserPayload {
  viewer: Viewer!
  clientMutationId: String!
  user: User
  edge: UserEdge
  deletedId: ID
}

input DeleteVoteInput {
  id: ID!
  clientMutationId: String!
}

type DeleteVotePayload {
  viewer: Viewer!
  clientMutationId: String!
  vote: Vote
  edge: VoteEdge
  link: Link
  user: User
  deletedId: ID
}

type File implements Node {
  contentType: String!
  createdAt: DateTime!
  id: ID!
  name: String!
  secret: String!
  size: Int!
  updatedAt: DateTime!
  url: String!
}

# A connection to a list of items.
type FileConnection {
  # Information to aid in pagination.
  pageInfo: PageInfo!

  # A list of edges.
  edges: [FileEdge]

  # Count of filtered result set without considering pagination arguments
  count: Int!
}

# An edge in a connection.
type FileEdge {
  # The item at the end of the edge.
  node: File!

  # A cursor for use in pagination.
  cursor: String!
}

input FileFilter {
  # Logical AND on all given filters.
  AND: [FileFilter!]

  # Logical OR on all given filters.
  OR: [FileFilter!]
  contentType: String

  # All values that are not equal to given value.
  contentType_not: String

  # All values that are contained in given list.
  contentType_in: [String!]

  # All values that are not contained in given list.
  contentType_not_in: [String!]

  # All values less than the given value.
  contentType_lt: String

  # All values less than or equal the given value.
  contentType_lte: String

  # All values greater than the given value.
  contentType_gt: String

  # All values greater than or equal the given value.
  contentType_gte: String

  # All values containing the given string.
  contentType_contains: String

  # All values not containing the given string.
  contentType_not_contains: String

  # All values starting with the given string.
  contentType_starts_with: String

  # All values not starting with the given string.
  contentType_not_starts_with: String

  # All values ending with the given string.
  contentType_ends_with: String

  # All values not ending with the given string.
  contentType_not_ends_with: String
  createdAt: DateTime

  # All values that are not equal to given value.
  createdAt_not: DateTime

  # All values that are contained in given list.
  createdAt_in: [DateTime!]

  # All values that are not contained in given list.
  createdAt_not_in: [DateTime!]

  # All values less than the given value.
  createdAt_lt: DateTime

  # All values less than or equal the given value.
  createdAt_lte: DateTime

  # All values greater than the given value.
  createdAt_gt: DateTime

  # All values greater than or equal the given value.
  createdAt_gte: DateTime
  id: ID

  # All values that are not equal to given value.
  id_not: ID

  # All values that are contained in given list.
  id_in: [ID!]

  # All values that are not contained in given list.
  id_not_in: [ID!]

  # All values less than the given value.
  id_lt: ID

  # All values less than or equal the given value.
  id_lte: ID

  # All values greater than the given value.
  id_gt: ID

  # All values greater than or equal the given value.
  id_gte: ID

  # All values containing the given string.
  id_contains: ID

  # All values not containing the given string.
  id_not_contains: ID

  # All values starting with the given string.
  id_starts_with: ID

  # All values not starting with the given string.
  id_not_starts_with: ID

  # All values ending with the given string.
  id_ends_with: ID

  # All values not ending with the given string.
  id_not_ends_with: ID
  name: String

  # All values that are not equal to given value.
  name_not: String

  # All values that are contained in given list.
  name_in: [String!]

  # All values that are not contained in given list.
  name_not_in: [String!]

  # All values less than the given value.
  name_lt: String

  # All values less than or equal the given value.
  name_lte: String

  # All values greater than the given value.
  name_gt: String

  # All values greater than or equal the given value.
  name_gte: String

  # All values containing the given string.
  name_contains: String

  # All values not containing the given string.
  name_not_contains: String

  # All values starting with the given string.
  name_starts_with: String

  # All values not starting with the given string.
  name_not_starts_with: String

  # All values ending with the given string.
  name_ends_with: String

  # All values not ending with the given string.
  name_not_ends_with: String
  secret: String

  # All values that are not equal to given value.
  secret_not: String

  # All values that are contained in given list.
  secret_in: [String!]

  # All values that are not contained in given list.
  secret_not_in: [String!]

  # All values less than the given value.
  secret_lt: String

  # All values less than or equal the given value.
  secret_lte: String

  # All values greater than the given value.
  secret_gt: String

  # All values greater than or equal the given value.
  secret_gte: String

  # All values containing the given string.
  secret_contains: String

  # All values not containing the given string.
  secret_not_contains: String

  # All values starting with the given string.
  secret_starts_with: String

  # All values not starting with the given string.
  secret_not_starts_with: String

  # All values ending with the given string.
  secret_ends_with: String

  # All values not ending with the given string.
  secret_not_ends_with: String
  size: Int

  # All values that are not equal to given value.
  size_not: Int

  # All values that are contained in given list.
  size_in: [Int!]

  # All values that are not contained in given list.
  size_not_in: [Int!]

  # All values less than the given value.
  size_lt: Int

  # All values less than or equal the given value.
  size_lte: Int

  # All values greater than the given value.
  size_gt: Int

  # All values greater than or equal the given value.
  size_gte: Int
  updatedAt: DateTime

  # All values that are not equal to given value.
  updatedAt_not: DateTime

  # All values that are contained in given list.
  updatedAt_in: [DateTime!]

  # All values that are not contained in given list.
  updatedAt_not_in: [DateTime!]

  # All values less than the given value.
  updatedAt_lt: DateTime

  # All values less than or equal the given value.
  updatedAt_lte: DateTime

  # All values greater than the given value.
  updatedAt_gt: DateTime

  # All values greater than or equal the given value.
  updatedAt_gte: DateTime
  url: String

  # All values that are not equal to given value.
  url_not: String

  # All values that are contained in given list.
  url_in: [String!]

  # All values that are not contained in given list.
  url_not_in: [String!]

  # All values less than the given value.
  url_lt: String

  # All values less than or equal the given value.
  url_lte: String

  # All values greater than the given value.
  url_gt: String

  # All values greater than or equal the given value.
  url_gte: String

  # All values containing the given string.
  url_contains: String

  # All values not containing the given string.
  url_not_contains: String

  # All values starting with the given string.
  url_starts_with: String

  # All values not starting with the given string.
  url_not_starts_with: String

  # All values ending with the given string.
  url_ends_with: String

  # All values not ending with the given string.
  url_not_ends_with: String
}

enum FileOrderBy {
  contentType_ASC
  contentType_DESC
  createdAt_ASC
  createdAt_DESC
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  secret_ASC
  secret_DESC
  size_ASC
  size_DESC
  updatedAt_ASC
  updatedAt_DESC
  url_ASC
  url_DESC
}

type Link implements Node {
  createdAt: DateTime!
  description: String!
  id: ID!
  postedBy(filter: UserFilter): User
  updatedAt: DateTime!
  url: String!
  votes(filter: VoteFilter, orderBy: VoteOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): VoteConnection
}

# A connection to a list of items.
type LinkConnection {
  # Information to aid in pagination.
  pageInfo: PageInfo!

  # A list of edges.
  edges: [LinkEdge]

  # Count of filtered result set without considering pagination arguments
  count: Int!
}

# An edge in a connection.
type LinkEdge {
  # The item at the end of the edge.
  node: Link!

  # A cursor for use in pagination.
  cursor: String!
}

input LinkFilter {
  # Logical AND on all given filters.
  AND: [LinkFilter!]

  # Logical OR on all given filters.
  OR: [LinkFilter!]
  createdAt: DateTime

  # All values that are not equal to given value.
  createdAt_not: DateTime

  # All values that are contained in given list.
  createdAt_in: [DateTime!]

  # All values that are not contained in given list.
  createdAt_not_in: [DateTime!]

  # All values less than the given value.
  createdAt_lt: DateTime

  # All values less than or equal the given value.
  createdAt_lte: DateTime

  # All values greater than the given value.
  createdAt_gt: DateTime

  # All values greater than or equal the given value.
  createdAt_gte: DateTime
  description: String

  # All values that are not equal to given value.
  description_not: String

  # All values that are contained in given list.
  description_in: [String!]

  # All values that are not contained in given list.
  description_not_in: [String!]

  # All values less than the given value.
  description_lt: String

  # All values less than or equal the given value.
  description_lte: String

  # All values greater than the given value.
  description_gt: String

  # All values greater than or equal the given value.
  description_gte: String

  # All values containing the given string.
  description_contains: String

  # All values not containing the given string.
  description_not_contains: String

  # All values starting with the given string.
  description_starts_with: String

  # All values not starting with the given string.
  description_not_starts_with: String

  # All values ending with the given string.
  description_ends_with: String

  # All values not ending with the given string.
  description_not_ends_with: String
  id: ID

  # All values that are not equal to given value.
  id_not: ID

  # All values that are contained in given list.
  id_in: [ID!]

  # All values that are not contained in given list.
  id_not_in: [ID!]

  # All values less than the given value.
  id_lt: ID

  # All values less than or equal the given value.
  id_lte: ID

  # All values greater than the given value.
  id_gt: ID

  # All values greater than or equal the given value.
  id_gte: ID

  # All values containing the given string.
  id_contains: ID

  # All values not containing the given string.
  id_not_contains: ID

  # All values starting with the given string.
  id_starts_with: ID

  # All values not starting with the given string.
  id_not_starts_with: ID

  # All values ending with the given string.
  id_ends_with: ID

  # All values not ending with the given string.
  id_not_ends_with: ID
  updatedAt: DateTime

  # All values that are not equal to given value.
  updatedAt_not: DateTime

  # All values that are contained in given list.
  updatedAt_in: [DateTime!]

  # All values that are not contained in given list.
  updatedAt_not_in: [DateTime!]

  # All values less than the given value.
  updatedAt_lt: DateTime

  # All values less than or equal the given value.
  updatedAt_lte: DateTime

  # All values greater than the given value.
  updatedAt_gt: DateTime

  # All values greater than or equal the given value.
  updatedAt_gte: DateTime
  url: String

  # All values that are not equal to given value.
  url_not: String

  # All values that are contained in given list.
  url_in: [String!]

  # All values that are not contained in given list.
  url_not_in: [String!]

  # All values less than the given value.
  url_lt: String

  # All values less than or equal the given value.
  url_lte: String

  # All values greater than the given value.
  url_gt: String

  # All values greater than or equal the given value.
  url_gte: String

  # All values containing the given string.
  url_contains: String

  # All values not containing the given string.
  url_not_contains: String

  # All values starting with the given string.
  url_starts_with: String

  # All values not starting with the given string.
  url_not_starts_with: String

  # All values ending with the given string.
  url_ends_with: String

  # All values not ending with the given string.
  url_not_ends_with: String
  postedBy: UserFilter
  votes_every: VoteFilter
  votes_some: VoteFilter
  votes_none: VoteFilter
}

enum LinkOrderBy {
  createdAt_ASC
  createdAt_DESC
  description_ASC
  description_DESC
  id_ASC
  id_DESC
  updatedAt_ASC
  updatedAt_DESC
  url_ASC
  url_DESC
}

input LinkvotesVote {
  userId: ID
}

type Mutation {
  createFile(input: CreateFileInput!): CreateFilePayload
  createLink(input: CreateLinkInput!): CreateLinkPayload
  createVote(input: CreateVoteInput!): CreateVotePayload
  updateFile(input: UpdateFileInput!): UpdateFilePayload
  updateLink(input: UpdateLinkInput!): UpdateLinkPayload
  updateUser(input: UpdateUserInput!): UpdateUserPayload
  updateVote(input: UpdateVoteInput!): UpdateVotePayload
  updateOrCreateFile(input: UpdateOrCreateFileInput!): UpdateOrCreateFilePayload
  updateOrCreateLink(input: UpdateOrCreateLinkInput!): UpdateOrCreateLinkPayload
  updateOrCreateUser(input: UpdateOrCreateUserInput!): UpdateOrCreateUserPayload
  updateOrCreateVote(input: UpdateOrCreateVoteInput!): UpdateOrCreateVotePayload
  deleteFile(input: DeleteFileInput!): DeleteFilePayload
  deleteLink(input: DeleteLinkInput!): DeleteLinkPayload
  deleteUser(input: DeleteUserInput!): DeleteUserPayload
  deleteVote(input: DeleteVoteInput!): DeleteVotePayload
  addToUsersLinks(input: AddToUsersLinksUserInput!): AddToUsersLinksPayload
  addToUsersVotes(input: AddToUsersVotesUserInput!): AddToUsersVotesPayload
  addToVotesOnLink(input: AddToVotesOnLinkLinkInput!): AddToVotesOnLinkPayload
  removeFromUsersLinks(input: RemoveFromUsersLinksUserInput!): RemoveFromUsersLinksPayload
  removeFromUsersVotes(input: RemoveFromUsersVotesUserInput!): RemoveFromUsersVotesPayload
  removeFromVotesOnLink(input: RemoveFromVotesOnLinkLinkInput!): RemoveFromVotesOnLinkPayload
  signinUser(input: SigninUserInput!): SigninPayload!
  createUser(input: SignupUserInput!): CreateUserPayload!
}

# An object with an ID
interface Node {
  # The id of the object.
  id: ID!
}

# Information about pagination in a connection.
type PageInfo {
  # When paginating forwards, are there more items?
  hasNextPage: Boolean!

  # When paginating backwards, are there more items?
  hasPreviousPage: Boolean!

  # When paginating backwards, the cursor to continue.
  startCursor: String

  # When paginating forwards, the cursor to continue.
  endCursor: String
}

type Query {
  viewer: Viewer!

  # Fetches an object given its ID
  node(
    # The ID of an object
    id: ID!
  ): Node
}

type RemoveFromUsersLinksPayload {
  viewer: Viewer!
  clientMutationId: String!
  postedByUser: User
  linksLink: Link
  postedByUserEdge: UserEdge
  linksLinkEdge: LinkEdge
}

input RemoveFromUsersLinksUserInput {
  linksLinkId: ID!
  postedByUserId: ID!
  clientMutationId: String!
}

type RemoveFromUsersVotesPayload {
  viewer: Viewer!
  clientMutationId: String!
  userUser: User
  votesVote: Vote
  userUserEdge: UserEdge
  votesVoteEdge: VoteEdge
}

input RemoveFromUsersVotesUserInput {
  votesVoteId: ID!
  userUserId: ID!
  clientMutationId: String!
}

input RemoveFromVotesOnLinkLinkInput {
  votesVoteId: ID!
  linkLinkId: ID!
  clientMutationId: String!
}

type RemoveFromVotesOnLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  linkLink: Link
  votesVote: Vote
  linkLinkEdge: LinkEdge
  votesVoteEdge: VoteEdge
}

# If authentication was successful the payload contains the user and a token. If unsuccessful this payload is null.
type SigninPayload {
  token: String
  user: User
  clientMutationId: String
  viewer: Viewer!
}

input SigninUserInput {
  email: AUTH_PROVIDER_EMAIL
  clientMutationId: String!
}

input SignupUserInput {
  name: String!
  linksIds: [ID!]
  links: [UserlinksLink!]
  votesIds: [ID!]
  votes: [UservotesVote!]
  clientMutationId: String!
  authProvider: AuthProviderSignupData!
}

input UpdateFile {
  id: ID!
  name: String
}

input UpdateFileInput {
  id: ID!
  name: String
  clientMutationId: String!
}

type UpdateFilePayload {
  viewer: Viewer!
  clientMutationId: String!
  file: File
  edge: FileEdge
}

input UpdateLink {
  description: String
  id: ID!
  url: String
  postedById: ID
  votesIds: [ID!]
  votes: [LinkvotesVote!]
}

input UpdateLinkInput {
  description: String
  id: ID!
  url: String
  postedById: ID
  votesIds: [ID!]
  votes: [LinkvotesVote!]
  clientMutationId: String!
}

type UpdateLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  link: Link
  edge: LinkEdge
  postedBy: User
}

input UpdateOrCreateFileInput {
  update: UpdateFile!
  create: CreateFile!
  clientMutationId: String!
}

type UpdateOrCreateFilePayload {
  viewer: Viewer!
  clientMutationId: String!
  file: File
  edge: FileEdge
}

input UpdateOrCreateLinkInput {
  update: UpdateLink!
  create: CreateLink!
  clientMutationId: String!
}

type UpdateOrCreateLinkPayload {
  viewer: Viewer!
  clientMutationId: String!
  link: Link
  edge: LinkEdge
  postedBy: User
}

input UpdateOrCreateUserInput {
  update: UpdateUser!
  create: CreateUser!
  clientMutationId: String!
}

type UpdateOrCreateUserPayload {
  viewer: Viewer!
  clientMutationId: String!
  user: User
  edge: UserEdge
}

input UpdateOrCreateVoteInput {
  update: UpdateVote!
  create: CreateVote!
  clientMutationId: String!
}

type UpdateOrCreateVotePayload {
  viewer: Viewer!
  clientMutationId: String!
  vote: Vote
  edge: VoteEdge
  link: Link
  user: User
}

input UpdateUser {
  id: ID!
  name: String
  linksIds: [ID!]
  links: [UserlinksLink!]
  votesIds: [ID!]
  votes: [UservotesVote!]
}

input UpdateUserInput {
  id: ID!
  name: String
  linksIds: [ID!]
  links: [UserlinksLink!]
  votesIds: [ID!]
  votes: [UservotesVote!]
  clientMutationId: String!
}

type UpdateUserPayload {
  viewer: Viewer!
  clientMutationId: String!
  user: User
  edge: UserEdge
}

input UpdateVote {
  id: ID!
  linkId: ID
  link: VotelinkLink
  userId: ID
}

input UpdateVoteInput {
  id: ID!
  linkId: ID
  link: VotelinkLink
  userId: ID
  clientMutationId: String!
}

type UpdateVotePayload {
  viewer: Viewer!
  clientMutationId: String!
  vote: Vote
  edge: VoteEdge
  link: Link
  user: User
}

type User implements Node {
  createdAt: DateTime!
  email: String
  id: ID!
  links(filter: LinkFilter, orderBy: LinkOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): LinkConnection
  name: String!
  password: String
  updatedAt: DateTime!
  votes(filter: VoteFilter, orderBy: VoteOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): VoteConnection
}

# A connection to a list of items.
type UserConnection {
  # Information to aid in pagination.
  pageInfo: PageInfo!

  # A list of edges.
  edges: [UserEdge]

  # Count of filtered result set without considering pagination arguments
  count: Int!
}

# An edge in a connection.
type UserEdge {
  # The item at the end of the edge.
  node: User!

  # A cursor for use in pagination.
  cursor: String!
}

input UserFilter {
  # Logical AND on all given filters.
  AND: [UserFilter!]

  # Logical OR on all given filters.
  OR: [UserFilter!]
  createdAt: DateTime

  # All values that are not equal to given value.
  createdAt_not: DateTime

  # All values that are contained in given list.
  createdAt_in: [DateTime!]

  # All values that are not contained in given list.
  createdAt_not_in: [DateTime!]

  # All values less than the given value.
  createdAt_lt: DateTime

  # All values less than or equal the given value.
  createdAt_lte: DateTime

  # All values greater than the given value.
  createdAt_gt: DateTime

  # All values greater than or equal the given value.
  createdAt_gte: DateTime
  email: String

  # All values that are not equal to given value.
  email_not: String

  # All values that are contained in given list.
  email_in: [String!]

  # All values that are not contained in given list.
  email_not_in: [String!]

  # All values less than the given value.
  email_lt: String

  # All values less than or equal the given value.
  email_lte: String

  # All values greater than the given value.
  email_gt: String

  # All values greater than or equal the given value.
  email_gte: String

  # All values containing the given string.
  email_contains: String

  # All values not containing the given string.
  email_not_contains: String

  # All values starting with the given string.
  email_starts_with: String

  # All values not starting with the given string.
  email_not_starts_with: String

  # All values ending with the given string.
  email_ends_with: String

  # All values not ending with the given string.
  email_not_ends_with: String
  id: ID

  # All values that are not equal to given value.
  id_not: ID

  # All values that are contained in given list.
  id_in: [ID!]

  # All values that are not contained in given list.
  id_not_in: [ID!]

  # All values less than the given value.
  id_lt: ID

  # All values less than or equal the given value.
  id_lte: ID

  # All values greater than the given value.
  id_gt: ID

  # All values greater than or equal the given value.
  id_gte: ID

  # All values containing the given string.
  id_contains: ID

  # All values not containing the given string.
  id_not_contains: ID

  # All values starting with the given string.
  id_starts_with: ID

  # All values not starting with the given string.
  id_not_starts_with: ID

  # All values ending with the given string.
  id_ends_with: ID

  # All values not ending with the given string.
  id_not_ends_with: ID
  name: String

  # All values that are not equal to given value.
  name_not: String

  # All values that are contained in given list.
  name_in: [String!]

  # All values that are not contained in given list.
  name_not_in: [String!]

  # All values less than the given value.
  name_lt: String

  # All values less than or equal the given value.
  name_lte: String

  # All values greater than the given value.
  name_gt: String

  # All values greater than or equal the given value.
  name_gte: String

  # All values containing the given string.
  name_contains: String

  # All values not containing the given string.
  name_not_contains: String

  # All values starting with the given string.
  name_starts_with: String

  # All values not starting with the given string.
  name_not_starts_with: String

  # All values ending with the given string.
  name_ends_with: String

  # All values not ending with the given string.
  name_not_ends_with: String
  password: String

  # All values that are not equal to given value.
  password_not: String

  # All values that are contained in given list.
  password_in: [String!]

  # All values that are not contained in given list.
  password_not_in: [String!]

  # All values less than the given value.
  password_lt: String

  # All values less than or equal the given value.
  password_lte: String

  # All values greater than the given value.
  password_gt: String

  # All values greater than or equal the given value.
  password_gte: String

  # All values containing the given string.
  password_contains: String

  # All values not containing the given string.
  password_not_contains: String

  # All values starting with the given string.
  password_starts_with: String

  # All values not starting with the given string.
  password_not_starts_with: String

  # All values ending with the given string.
  password_ends_with: String

  # All values not ending with the given string.
  password_not_ends_with: String
  updatedAt: DateTime

  # All values that are not equal to given value.
  updatedAt_not: DateTime

  # All values that are contained in given list.
  updatedAt_in: [DateTime!]

  # All values that are not contained in given list.
  updatedAt_not_in: [DateTime!]

  # All values less than the given value.
  updatedAt_lt: DateTime

  # All values less than or equal the given value.
  updatedAt_lte: DateTime

  # All values greater than the given value.
  updatedAt_gt: DateTime

  # All values greater than or equal the given value.
  updatedAt_gte: DateTime
  links_every: LinkFilter
  links_some: LinkFilter
  links_none: LinkFilter
  votes_every: VoteFilter
  votes_some: VoteFilter
  votes_none: VoteFilter
}

input UserlinksLink {
  description: String!
  url: String!
  votesIds: [ID!]
  votes: [LinkvotesVote!]
}

enum UserOrderBy {
  createdAt_ASC
  createdAt_DESC
  email_ASC
  email_DESC
  id_ASC
  id_DESC
  name_ASC
  name_DESC
  password_ASC
  password_DESC
  updatedAt_ASC
  updatedAt_DESC
}

input UservotesVote {
  linkId: ID
  link: VotelinkLink
}

# This is the famous Relay viewer object
type Viewer {
  allFiles(filter: FileFilter, orderBy: FileOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): FileConnection!
  allLinks(filter: LinkFilter, orderBy: LinkOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): LinkConnection!
  allUsers(filter: UserFilter, orderBy: UserOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection!
  allVotes(filter: VoteFilter, orderBy: VoteOrderBy, skip: Int, after: String, before: String, first: Int, last: Int): VoteConnection!
  user: User
  File(id: ID, secret: String, url: String): File
  Link(id: ID): Link
  User(email: String, id: ID): User
  Vote(id: ID): Vote
  id: ID!
}

type Vote implements Node {
  createdAt: DateTime!
  id: ID!
  link(filter: LinkFilter): Link
  updatedAt: DateTime!
  user(filter: UserFilter): User
}

# A connection to a list of items.
type VoteConnection {
  # Information to aid in pagination.
  pageInfo: PageInfo!

  # A list of edges.
  edges: [VoteEdge]

  # Count of filtered result set without considering pagination arguments
  count: Int!
}

# An edge in a connection.
type VoteEdge {
  # The item at the end of the edge.
  node: Vote!

  # A cursor for use in pagination.
  cursor: String!
}

input VoteFilter {
  # Logical AND on all given filters.
  AND: [VoteFilter!]

  # Logical OR on all given filters.
  OR: [VoteFilter!]
  createdAt: DateTime

  # All values that are not equal to given value.
  createdAt_not: DateTime

  # All values that are contained in given list.
  createdAt_in: [DateTime!]

  # All values that are not contained in given list.
  createdAt_not_in: [DateTime!]

  # All values less than the given value.
  createdAt_lt: DateTime

  # All values less than or equal the given value.
  createdAt_lte: DateTime

  # All values greater than the given value.
  createdAt_gt: DateTime

  # All values greater than or equal the given value.
  createdAt_gte: DateTime
  id: ID

  # All values that are not equal to given value.
  id_not: ID

  # All values that are contained in given list.
  id_in: [ID!]

  # All values that are not contained in given list.
  id_not_in: [ID!]

  # All values less than the given value.
  id_lt: ID

  # All values less than or equal the given value.
  id_lte: ID

  # All values greater than the given value.
  id_gt: ID

  # All values greater than or equal the given value.
  id_gte: ID

  # All values containing the given string.
  id_contains: ID

  # All values not containing the given string.
  id_not_contains: ID

  # All values starting with the given string.
  id_starts_with: ID

  # All values not starting with the given string.
  id_not_starts_with: ID

  # All values ending with the given string.
  id_ends_with: ID

  # All values not ending with the given string.
  id_not_ends_with: ID
  updatedAt: DateTime

  # All values that are not equal to given value.
  updatedAt_not: DateTime

  # All values that are contained in given list.
  updatedAt_in: [DateTime!]

  # All values that are not contained in given list.
  updatedAt_not_in: [DateTime!]

  # All values less than the given value.
  updatedAt_lt: DateTime

  # All values less than or equal the given value.
  updatedAt_lte: DateTime

  # All values greater than the given value.
  updatedAt_gt: DateTime

  # All values greater than or equal the given value.
  updatedAt_gte: DateTime
  link: LinkFilter
  user: UserFilter
}

input VotelinkLink {
  description: String!
  url: String!
  postedById: ID
  votesIds: [ID!]
  votes: [LinkvotesVote!]
}

enum VoteOrderBy {
  createdAt_ASC
  createdAt_DESC
  id_ASC
  id_DESC
  updatedAt_ASC
  updatedAt_DESC
}

Thanks in advance for any help.

@githubmaster1987
Copy link

I got same error.. Did you solve it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants