-
Notifications
You must be signed in to change notification settings - Fork 1
/
schema.graphql
132 lines (114 loc) · 2.81 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# ------------------------------------------------------
# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
# ------------------------------------------------------
type Todo {
id: String!
desc: String!
isComplete: Boolean!
createdAt: DateTime!
updatedAt: DateTime!
createdBy: User!
}
"""
A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
"""
scalar DateTime
type User {
id: ID!
name: String!
username: String
email: String!
phone: String
bio: JSON
googleId: String
facebookId: String
twitterId: String
githubId: String
imageUrl: String
status: String
role: String
lastLoginAt: String
createdAt: DateTime
updatedAt: DateTime
emailVerified: Boolean!
todos: [Todo!]!
}
"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON
type AuthPayload {
token: String!
tokenExpiry: DateTime!
user: User!
}
type StatusWithInfo {
status: Boolean!
info: JSONObject!
}
"""
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSONObject
type CloudinaryResource {
public_id: String
format: String
version: Float
resource_type: String
type: String
created_at: String
bytes: Float
width: Float
height: Float
access_mode: String
url: String
secure_url: String
}
type Resources {
resources: [CloudinaryResource!]!
next_cursor: String!
}
type Query {
me: MeResult!
resources: Resources!
}
union MeResult = User | ValidationResult
type ValidationResult {
message: String!
code: String!
}
type Mutation {
login(email: String!, password: String, otp: String): LoginResult!
sendLoginOTP(email: String!): StatusWithInfo!
loginWithOTP(email: String!, password: String, otp: String): LoginResult!
logoutfromAllDevices: Boolean!
logout: Boolean!
forgotPassword(email: String!): MutateUserResult!
changePassword(password: String!, currentPassword: String!): MutateUserResult!
resetPassword(password: String!, token: String!): MutateUserResult!
refreshToken: AuthPayload!
signup(userCreateInput: UserCreateInput!): SignupResult!
confirm(token: String!): MutateUserResult!
resendConfirm(email: String!): MutateUserResult!
}
union LoginResult = AuthPayload | ValidationResult
union MutateUserResult = ActionResult | ValidationResult
type ActionResult {
success: Boolean!
info: JSONObject
}
union SignupResult = AuthPayload | ValidationResult
input UserCreateInput {
email: String!
password: String
name: String!
username: String
googleId: String
facebookId: String
twitterId: String
githubId: String
imageUrl: String
role: String
status: String
lastLoginAt: DateTime
}