react-relay
react-relay copied to clipboard
Error: Expected null to be a GraphQL composite type.
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.
I got same error.. Did you solve it?