Added routes / Connection to DB fixed

This commit is contained in:
2020-07-08 17:28:06 +02:00
parent 549ecd137f
commit c0c3177a58
5 changed files with 57 additions and 28 deletions

74
app.js
View File

@@ -9,11 +9,12 @@ const port = 3000;
const Restaurant = require("./models/restaurant"); const Restaurant = require("./models/restaurant");
const Dish = require("./models/dish"); const Dish = require("./models/dish");
const User = require("./models/users"); const User = require("./models/users");
const validators = require("./validation");
mongoose.connect( mongoose.connect(
"mongodb+srv://menui_db_user:<" + "mongodb+srv://menui_db_user:" +
process.env.DB_PASS + process.env.DB_PASS +
">@menui-database.9quwf.mongodb.net/<dbname>?retryWrites=true&w=majority", "@menui-database.9quwf.mongodb.net/<dbname>?retryWrites=true&w=majority",
{ useNewUrlParser: true, useUnifiedTopology: true }, { useNewUrlParser: true, useUnifiedTopology: true },
(err) => { (err) => {
if (err) console.log(err); if (err) console.log(err);
@@ -21,44 +22,67 @@ mongoose.connect(
} }
); );
app.get("/", (req, res) => res.send("Hello World!")); // GET A PARTICULAR RESTAURANT //
// TEST ONLY // app.get("/restaurant/:restaurantId", function (req, res) {
Restaurant.findById(req.params.restaurantId, (err, data) => {
app.get("/restaurant", function (req, res) { if (err) res.send(err);
Restaurant.find() else res.send(data);
.exec() });
.then((data) => {
console.log(data);
})
.catch((err) => console.log(err));
}); });
// ADD NEW RESTAURANT // GET RESTAURANTS IN A SPECIFIED CITY //
app.get("/city/:cityName", function (req, res) {
Restaurant.find({ city: decodeURI(req.params.cityName) }, (err, data) => {
if (err) res.send(err);
else res.send(data);
});
});
// ADD NEW RESTAURANT //
app.post("/restaurant", (req, res) => { app.post("/restaurant", (req, res) => {
const restaurant = new Restaurant({ const restaurant = new Restaurant({
id: new mongoose.Types.ObjectId(), _id: new mongoose.Types.ObjectId(),
name: req.body.name, name: req.body.name,
city: req.body.city, city: req.body.city,
imgUrl: req.body.imgUrl, imgUrl: req.body.imgUrl,
workingHours: req.body.workingHours, workingHours: req.body.workingHours,
hidden: req.body.hidden, hidden: req.body.hidden,
}); });
restaurant restaurant.save().catch((err) => console.log(err));
.save()
.then((result) => {
console.log(result);
})
.catch((err) => console.log(err));
res.status(201).json({ res.status(201).json({
message: "Created a Restaurant in a Database", message: "Restaurant Created",
addedRestaurant: restaurant, addedRestaurant: restaurant,
}); });
}); });
/*app.get("/dish/:dishId", (req, res) => { // ADD NEW DISH //
const dishId = req.params.dishId;
})*/
app.listen(port, () => console.log("Listening at: " + port)); app.post("/dish", (req, res) => {
const restaurantId = req.body.restaurantId;
const userData = req.body.userData;
const dish = new Dish({
_id: new mongoose.Types.ObjectId(),
name: req.body.name,
category: req.body.category,
price: req.body.price,
notes: req.body.notes,
imgUrl: req.body.imgUrl,
weight: req.body.weight,
allergens: {
gluten: req.body.gluten,
lactose: req.body.lactose,
soy: req.body.soy,
eggs: req.body.eggs,
seaFood: req.body.seaFood,
peanuts: req.body.peanuts,
sesame: req.body.sesame,
},
vegan: req.body.vegan,
vegetarian: req.body.vegetarian,
});
});
app.listen(port, () => console.log("Menui back-end is listening at: " + port));

View File

@@ -1,7 +1,7 @@
const mongoose = require("mongoose"); const mongoose = require("mongoose");
const dishSchema = mongoose.Schema({ const dishSchema = mongoose.Schema({
id: mongoose.Types.ObjectId, _id: mongoose.Types.ObjectId,
name: String, name: String,
category: String, category: String,
price: Number, price: Number,

View File

@@ -1,7 +1,7 @@
const mongoose = require("mongoose"); const mongoose = require("mongoose");
const restaurantSchema = mongoose.Schema({ const restaurantSchema = mongoose.Schema({
id: mongoose.Types.ObjectId, _id: mongoose.Types.ObjectId,
name: String, name: String,
city: String, city: String,
imgUrl: String, imgUrl: String,

View File

@@ -1,7 +1,7 @@
const mongoose = require("mongoose"); const mongoose = require("mongoose");
const userSchema = mongoose.Schema({ const userSchema = mongoose.Schema({
id: mongoose.Types.ObjectId, _id: mongoose.Types.ObjectId,
email: String, email: String,
password: String, password: String,
restaurantId: mongoose.Types.ObjectId, restaurantId: mongoose.Types.ObjectId,

5
validation.js Normal file
View File

@@ -0,0 +1,5 @@
function validateRestaurant(id) {
return true;
}
exports.validateRestaurant = validateRestaurant;