63 lines
1.0 KiB
GraphQL
63 lines
1.0 KiB
GraphQL
![]() |
scalar DateTime
|
||
|
|
||
|
type User {
|
||
|
createdAt: DateTime!
|
||
|
email: String
|
||
|
emailConfirmed: Boolean
|
||
|
id: Int!
|
||
|
muted: Boolean
|
||
|
rating: Int
|
||
|
updatedAt: DateTime!
|
||
|
username: String
|
||
|
userpic: String
|
||
|
userpicId: String
|
||
|
wasOnlineAt: DateTime
|
||
|
}
|
||
|
|
||
|
type Message {
|
||
|
author: Int!
|
||
|
body: String!
|
||
|
createdAt: DateTime!
|
||
|
id: Int!
|
||
|
replyTo: Int
|
||
|
updatedAt: DateTime!
|
||
|
visibleForUsers: [Int]
|
||
|
}
|
||
|
|
||
|
type createMessagePayload {
|
||
|
status: Boolean!
|
||
|
error: String
|
||
|
message: Message
|
||
|
}
|
||
|
|
||
|
type deleteMessagePayload {
|
||
|
status: Boolean!
|
||
|
error: String
|
||
|
}
|
||
|
|
||
|
input MessageInput {
|
||
|
body: String!
|
||
|
replyTo: Int
|
||
|
}
|
||
|
|
||
|
input updateMessageInput {
|
||
|
id: Int!
|
||
|
body: String!
|
||
|
}
|
||
|
|
||
|
type Query {
|
||
|
getMessages(count: Int = 100, page: Int = 1): [Message!]!
|
||
|
}
|
||
|
|
||
|
type Mutation {
|
||
|
createMessage(input: MessageInput!): createMessagePayload!
|
||
|
updateMessage(input: updateMessageInput!): createMessagePayload!
|
||
|
deleteMessage(messageId: Int!): deleteMessagePayload!
|
||
|
}
|
||
|
|
||
|
type Subscription {
|
||
|
messageCreated: Message!
|
||
|
messageUpdated: Message!
|
||
|
messageDeleted: Message!
|
||
|
}
|