-
Notifications
You must be signed in to change notification settings - Fork 0
/
server3.js
134 lines (104 loc) · 3.88 KB
/
server3.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
const express = require('express')
const app = express();// app is an instance
const db = require("./db");
require('dotenv').config();
const passport = require("./auth");
const bodyParser = require('body-parser');
app.use(bodyParser.json()); // to support JSON-encoded bodies (req.body)
const PORT = process.env.PORT || 3000;
//model/schema
const Person = require('./models/person');
const menu = require('./models/menu');
// Middleware Functions
const logRequest = (req, res, next) => {
console.log(`[${new Date().toLocaleString()}] Request made to :${req.originalUrl}`);
next();//move on to the next phase
}
app.use(logRequest);
app.use(passport.initialize());
const localAuthMiddleware=passport.authenticate('local',{session:false});
app.get('/',localAuthMiddleware, function (req, res) {
res.send('Welcome to our Hotel')
})
//person data
// POST route to add a person in database
// app.post("/person", async (req, res) => {
// try {
// const data = req.body;//create a new object of person class with data from
// // Create a new person document using the mongoose model
// const newPerson = new Person(data);//but by this way it prefilled
// // newPerson.name=data.name;// we can define this way also by each data member sepreately
// //save the person to the database
// const responce = await newPerson.save();
// console.log('data saved');
// res.status(200).json(responce);
// }
// catch (err) {
// console.error(err.message);
// res.status(500).json({ error: "internal server error" });
// }
// })
// //GET method to get the person
// app.get('/person', async (req, res) => {
// try {
// const data = await Person.find();
// console.log("Data fatched");
// res.status(200).json(data);
// } catch (err) {
// console.error(err.message);
// res.status(500).json({ error: "internal server error" });
// }
// })
// //get the specific persons by there work type
// app.get('/person/:workType', async (req, res) => {
// try {
// const workType = req.params.workType; // Extract the work type from URL parameter and trim any extra whitespace
// if (['chef', 'waiter', 'manager'].includes(workType)) {
// const response = await Person.find({ work: workType });
// console.log("Response fetched for workType:", workType);
// res.status(200).json(response);
// } else {
// console.log("Invalid Work Type:", workType);
// res.status(400).json({ error: "Invalid Work Type" });
// }
// } catch (err) {
// console.error("Error fetching data:", err.message);
// res.status(500).json({ error: "Internal Server Error" });
// }
// });
// Menu items
// to display the menu items for particular restaurant
// app.get('/menu', async (req, res) => {
// try {
// const item = await menu.find();
// console.log('Menu Items Fetched')
// res.status(200).json(item);
// } catch (err) {
// console.error(err.message);
// res.status(500).json({ error: "internal server error" });
// }
// });
// // POST the menu item to the database
// app.post("/menu", async (req, res) => {
// try {
// const item = req.body;//create a new object of item class with data from
// // Create a new item document using the mongoose model
// const newitem = new menu(item);//but by this way it prefilled
// //save the item to the database
// const responce = await newitem.save();
// console.log('Item saved');
// res.status(200).json(responce);
// } catch (err) {
// console.error(err);
// res.status(500).json({ error: "internal server error" });
// }
// });
// Import of the router files
const personRoutes = require('./routes/personRoutes');
const menuRoutes = require('./routes/menuRoutes');
// use of routers
app.use('/person',localAuthMiddleware, personRoutes);
app.use('/menu', menuRoutes);
app.listen(PORT, () => {
console.log("Listening at port 3000!");
});