This repository has been archived by the owner on May 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
schema.graphql
107 lines (89 loc) · 1.96 KB
/
schema.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
input ChangePasswordInput {
oldPassword: String!
# user new password
password: String!
clientMutationId: String
}
type ChangePasswordPayload {
error: String
me: User
clientMutationId: String
}
input LoginEmailInput {
email: String!
password: String!
clientMutationId: String
}
type LoginEmailPayload {
token: String
error: String
clientMutationId: String
}
type Mutation {
LoginEmail(input: LoginEmailInput!): LoginEmailPayload
RegisterEmail(input: RegisterEmailInput!): RegisterEmailPayload
ChangePassword(input: ChangePasswordInput!): ChangePasswordPayload
}
# 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
}
# The root of all... queries
type Query {
# Fetches an object given its ID
node(
# The ID of an object
id: ID!
): Node
me: User
user(id: ID!): User
users(after: String, first: Int, before: String, last: Int, search: String): UserConnection
}
input RegisterEmailInput {
name: String!
universty: String!
email: String!
password: String!
clientMutationId: String
}
type RegisterEmailPayload {
token: String
error: String
clientMutationId: String
}
# User data
type User implements Node {
# The ID of an object
id: ID!
_id: String
name: String
email: String
active: Boolean
}
# A connection to a list of items.
type UserConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [UserEdge]
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!
}