-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapi-schema.graphql
113 lines (97 loc) · 2.07 KB
/
api-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
# ------------------------------------------------------
# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
# ------------------------------------------------------
"""
A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
"""
scalar DateTime
type IntercomMessage {
payload: JSON
scope: String
type: String
}
"""
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 @specifiedBy(url: "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf")
input LoginInput {
email: String!
password: String!
}
type MetaEnum {
id: String
values: [String!]
}
type MetaField {
enum: Boolean
id: String
list: Boolean
relation: Boolean
required: Boolean
type: String
}
type MetaModel {
fields: [MetaField!]
id: String
}
type MetaModelData {
count: Int
data: [JSON!]
model: MetaModel
schema: MetaSchema
}
type MetaSchema {
enums: [MetaEnum!]
models: [MetaModel!]
}
type Mutation {
intercomPub(payload: JSON, scope: String, type: String!): IntercomMessage
login(input: LoginInput!): UserToken
logout: Boolean
metaCreateModelData(data: JSON!, model: String!): JSON
metaDeleteModelRecord(model: String!, recordId: String!): JSON
register(input: RegisterInput!): UserToken
}
type Query {
me: User
metaGenerated: JSON
metaModelData(model: String!): MetaModelData
metaSchema: MetaSchema
uptime: Float
}
input RegisterInput {
avatarUrl: String
email: String!
firstName: String
lastName: String
password: String!
phone: String
username: String
}
"""User role"""
enum Role {
Admin
User
}
type Subscription {
intercomSub(scope: String, type: String): IntercomMessage
}
type User {
avatarUrl: String
bio: String
createdAt: DateTime
email: String
firstName: String
id: String
lastName: String
location: String
phone: String
role: Role
updatedAt: DateTime
username: String
}
type UserToken {
"""JWT Bearer token"""
token: String!
user: User!
}