54 lines
907 B
GraphQL
54 lines
907 B
GraphQL
type Answer {
|
|
didUpvote: Boolean
|
|
id: ID!
|
|
isOwnedByMe: Boolean
|
|
name: String
|
|
pseudonym: String!
|
|
text: String!
|
|
upvoteCount: Int!
|
|
}
|
|
|
|
type AnswerConnection {
|
|
edges: [AnswerEdge]
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type AnswerEdge {
|
|
cursor: Cursor!
|
|
node: Answer!
|
|
}
|
|
|
|
scalar Cursor
|
|
|
|
type Episode {
|
|
active: Boolean!
|
|
answerCount: Int!
|
|
answers(after: Cursor, first: Int): AnswerConnection!
|
|
description: String!
|
|
id: ID!
|
|
title: String!
|
|
}
|
|
|
|
type Mutation {
|
|
authenticate(password: String): String
|
|
deleteResponse(episode: ID!, response: ID!): Boolean
|
|
sendResponse(episode: ID!, name: String, text: String!): Answer
|
|
setUpvote(episode: ID!, response: ID!, upvote: Boolean!): Answer
|
|
}
|
|
|
|
type PageInfo {
|
|
endCursor: Cursor
|
|
hasNextPage: Boolean!
|
|
hasPreviousPage: Boolean!
|
|
startCursor: Cursor
|
|
}
|
|
|
|
type Query {
|
|
episode(id: ID!): Episode
|
|
self: User
|
|
}
|
|
|
|
type User {
|
|
admin: Boolean!
|
|
id: ID!
|
|
}
|