-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathresolvers.js
More file actions
69 lines (67 loc) · 1.97 KB
/
Copy pathresolvers.js
File metadata and controls
69 lines (67 loc) · 1.97 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
const bcrypt = require("bcrypt");
const jwt = require("jsonwebtoken");
const createToken = (user, secret, expiresIn) => {
const { username, password } = user;
return jwt.sign({ username, password }, secret, { expiresIn });
};
module.exports = {
Query: {
getDrinkList: async (_, args, { Drink }) => {
const drinks = await Drink.find({}).sort({ name: "desc" });
return drinks;
},
getFoodList: async (_, args, { Food }) => {
const foodies = await Food.find({}).sort({ name: "desc" });
return foodies;
},
getExtraList: async (_, args, { Extra }) => {
const extras = await Extra.find({}).sort({ name: "desc" });
return extras;
},
getOrderList: async (_, args, { Order }) => {
const orders = await Order.find({}).sort({ client: "desc" });
return orders;
}
},
Mutation: {
addDrink: async (_, { name, price, imageURL }, { Drink }) => {
const drink = await Drink.findOne({ name });
if (drink) {
throw new Error("Drink already exists");
}
const newDrink = await new Drink({ name, price, imageURL }).save();
return newDrink;
},
addExtra: async (_, { name, price }, { Extra }) => {
const extra = await Extra.findOne({ name });
if (extra) {
throw new Error("Extra already exists");
}
const newExtra = await new Extra({ name, price }).save();
return newExtra;
},
addFood: async (_, { name, price, shift, imageURL }, { Food }) => {
const food = await Food.findOne({ name });
if (food) {
throw new Error("Food already exists");
}
const newFood = await new Food({
name,
price,
shift,
imageURL
}).save();
return newFood;
},
addOrder: async (_, { food, drink, extra, total, client }, { Order }) => {
const newOrder = await new Order({
food,
drink,
extra,
total,
client
}).save();
return newOrder;
}
}
};