-
Notifications
You must be signed in to change notification settings - Fork 90
/
Copy pathschema.ts
68 lines (55 loc) · 1.09 KB
/
schema.ts
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
import { buildSchema } from 'graphql';
export const schema = buildSchema(/* GraphQL */ `
type Pizza {
dough: String!
toppings: [String!]
}
type Book {
id: ID!
title: String!
}
type User {
id: ID!
name: String!
favoritePizza: Pizza!
favoriteBook: Book!
favoriteFood: Food!
shelf: [Book!]!
}
interface Salad {
ingredients: [String!]!
}
type CeaserSalad implements Salad {
ingredients: [String!]!
additionalParmesan: Boolean!
}
type Coleslaw implements Salad {
ingredients: [String!]!
asian: Boolean!
}
union Food = Pizza | Salad
type Post {
comments(filter: String!): [String!]!
}
type Query {
me: User
user(id: ID!): User
users: [User!]
menu: [Food]
menuByIngredients(ingredients: [String!]!): [Food]
feed: [Post]
}
type Mutation {
addSalad(ingredients: [String!]!): Salad
addRandomFood: Food
}
type Subscription {
onFood: Food
}
schema {
query: Query
mutation: Mutation
subscription: Subscription
}
`);
export const models = ['User', 'Book'];