-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.js
85 lines (76 loc) · 1.42 KB
/
schema.js
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
const { gql } = require('apollo-server');
const typeDefs = gql`
enum AllowedOrder {
default
distance
}
type User {
id: ID!
}
type Tag {
id: ID!
text: String!
}
type Location {
type: String!
coordinates: [Float]!
address: String!
}
type Review {
authorName: String
authorPhotoUrl: String
relativeTime: String!
rating: Int!
text: String!
}
type Restaurant {
id: ID!
name: String!
placeId: String!
rating: Float
priceLevel: String
phoneNumber: String
tags: [Tag]!
location: Location!
reviews: [Review]
reviewCount: Int
photoUrls: [String]
isOpenNow: Boolean
openingHours: [String]
distance: Float
}
type RestaurantConnection {
cursor: String
hasMore: Boolean!
restaurants: [Restaurant]
}
type Query {
appEntry(user: ID): User!
tags: [Tag]!
restaurants(
pageSize: Int
after: String
): RestaurantConnection!
searchRestaurants(
lat: Float!
lng: Float!
tagIds: [ID]!
orderBy: AllowedOrder
priceLevel: Int
pageSize: Int
after: String
user: ID
): RestaurantConnection!
getRestaurantByPlaceId(
placeId: String!
user: ID
): Restaurant
getRestaurantsByPlaceId(
placeIds: [String]!
lat: Float!
lng: Float!
user: ID
): [Restaurant]
}
`;
module.exports = typeDefs;