-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.graphql
More file actions
125 lines (110 loc) · 2.28 KB
/
schema.graphql
File metadata and controls
125 lines (110 loc) · 2.28 KB
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
schema {
query: RootQueryType
mutation: RootMutationType
}
# Exposes a URL that specifies the behaviour of this scalar.
directive @specifiedBy(
# The URL that specifies the behaviour of this scalar.
url: String!
) on SCALAR
input AuthInput {
email: String
password: String
}
# A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the
# `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO
# 8601 standard for representation of dates and times using the Gregorian calendar.
scalar DateTime
input FeedbackInput {
subject: String
body: String
rating: Boolean
anonymous: Boolean
author_id: String
}
type FeedbackType {
id: String!
subject: String!
body: String!
like_count: Int!
rating: Boolean!
anonymous: Boolean!
author_id: String!
created_at: DateTime!
updated_at: DateTime!
}
input RatingInput {
value: Boolean
comment: String
anonymous: Boolean
user_id: String
service_id: String
stars: Int
}
type RatingType {
id: String!
stars: Int!
comment: String
anonymous: Boolean!
user_id: String!
service_id: String!
created_at: DateTime!
updated_at: DateTime!
}
type RootMutationType {
saveUser(input: UserInput): UserType
saveService(input: ServiceInput): ServiceType
saveRating(input: RatingInput): RatingType
saveFeedback(input: FeedbackInput): FeedbackType
saveVote(input: VoteInput): VoteType
}
type RootQueryType {
getUsers: [UserType]
login(input: AuthInput): UserType
getService: [ServiceType]
getRating: [RatingType]
getFeedback: [FeedbackType]
getVotes: [VoteType]
}
input ServiceInput {
name: String!
address: String
latitude: Float
longitude: Float
}
type ServiceType {
id: String!
name: String
address: String!
average_rating: Float!
latitude: Float!
longitude: Float!
created_at: DateTime!
updated_at: DateTime!
}
input UserInput {
name: String
email: String
password: String
}
type UserType {
id: String!
name: String!
email: String!
password: String!
created_at: DateTime!
updated_at: DateTime!
}
input VoteInput {
feedback_id: String
rating_id: String
user_id: String
}
type VoteType {
id: String!
feedback_id: String
user_id: String!
rating_id: String
created_at: DateTime!
updated_at: DateTime!
}