get routes changed to query string
This commit is contained in:
@@ -20,6 +20,19 @@ const restaurantSchema = mongoose.Schema({
|
|||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
description: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
tags: {
|
||||||
|
cardPayments: Boolean,
|
||||||
|
petFriendly: Boolean,
|
||||||
|
glutenFree: Boolean,
|
||||||
|
vegan: Boolean,
|
||||||
|
vegetarian: Boolean,
|
||||||
|
alcohol: Boolean,
|
||||||
|
delivery: Boolean,
|
||||||
|
},
|
||||||
|
phone: Number,
|
||||||
hidden: Boolean,
|
hidden: Boolean,
|
||||||
dishes: [mongoose.Types.ObjectId],
|
dishes: [mongoose.Types.ObjectId],
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import express from "express";
|
import express from "express";
|
||||||
import Restaurant from "../models/restaurant.js";
|
import Restaurant from "../models/restaurant.js";
|
||||||
import * as services from "../services/services.js";
|
import * as services from "../services/services.js";
|
||||||
|
import sanitizer from "string-sanitizer";
|
||||||
import Dish from "../models/dish.js";
|
import Dish from "../models/dish.js";
|
||||||
|
|
||||||
var router = express.Router();
|
var router = express.Router();
|
||||||
|
|||||||
@@ -10,17 +10,24 @@ var router = express.Router();
|
|||||||
// GET RESTAURANT BY ID
|
// GET RESTAURANT BY ID
|
||||||
|
|
||||||
router.get("/", (req, res) => {
|
router.get("/", (req, res) => {
|
||||||
services.validateRestaurant(req.body.restaurantId, (result) => {
|
if (req.query.restaurantId.length > 0) {
|
||||||
if (!result) {
|
const query = sanitizer.sanitize.keepUnicode(
|
||||||
res.sendStatus(400);
|
decodeURI(req.query.restaurantId)
|
||||||
} else {
|
);
|
||||||
Restaurant.findById(req.body.restaurantId, (err, data) => {
|
services.validateRestaurant(query, (result) => {
|
||||||
if (err) {
|
if (!result) {
|
||||||
res.sendStatus(404);
|
res.sendStatus(400);
|
||||||
} else res.send(data);
|
} else {
|
||||||
});
|
Restaurant.findById(query, (err, data) => {
|
||||||
}
|
if (err) {
|
||||||
});
|
res.sendStatus(404);
|
||||||
|
} else res.send(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res.sendStatus(404);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// ADD NEW RESTAURANT
|
// ADD NEW RESTAURANT
|
||||||
@@ -57,30 +64,38 @@ router.post("/", (req, res) => {
|
|||||||
// GET ALL DISHES FROM A RESTAURANT ID
|
// GET ALL DISHES FROM A RESTAURANT ID
|
||||||
|
|
||||||
router.get("/dishes", (req, res) => {
|
router.get("/dishes", (req, res) => {
|
||||||
services.validateRestaurant(req.body.restaurantId, (result) => {
|
if (req.query.restaurantId.length > 0) {
|
||||||
if (!result) {
|
const query = sanitizer.sanitize.keepUnicode(
|
||||||
res.sendStatus(400);
|
decodeURI(req.query.restaurantId)
|
||||||
} else {
|
);
|
||||||
Restaurant.findById(req.body.restaurantId, (err, result) => {
|
|
||||||
if (err) {
|
services.validateRestaurant(query, (result) => {
|
||||||
res.sendStatus(404);
|
if (!result) {
|
||||||
} else {
|
res.sendStatus(400);
|
||||||
const dishesCount = result.dishes.length;
|
} else {
|
||||||
let dishes = [];
|
Restaurant.findById(query, (err, result) => {
|
||||||
result.dishes.forEach((element) => {
|
if (err) {
|
||||||
Dish.findById(element, (err, result) => {
|
res.sendStatus(404);
|
||||||
if (err) {
|
} else {
|
||||||
console.log("ERROR fetching dish");
|
const dishesCount = result.dishes.length;
|
||||||
} else {
|
let dishes = [];
|
||||||
dishes.push(result);
|
result.dishes.forEach((element) => {
|
||||||
if (dishes.length == dishesCount) res.send(dishes);
|
Dish.findById(element, (err, result) => {
|
||||||
}
|
if (err) {
|
||||||
|
console.log("ERROR fetching dish");
|
||||||
|
} else {
|
||||||
|
dishes.push(result);
|
||||||
|
if (dishes.length == dishesCount) res.send(dishes);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
});
|
} else {
|
||||||
|
res.sendStatus(404);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ router.get("/", (req, res) => {
|
|||||||
{ hidden: false },
|
{ hidden: false },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"_id name city imgUrl workingHours",
|
"_id name city imgUrl workingHours description tags phone hidden",
|
||||||
(err, results) => {
|
(err, results) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
res.sendStatus(500);
|
res.sendStatus(500);
|
||||||
|
|||||||
Reference in New Issue
Block a user