init from origin + update
This commit is contained in:
47
server/routers/stc-22-24/routes/auth.js
Normal file
47
server/routers/stc-22-24/routes/auth.js
Normal file
@@ -0,0 +1,47 @@
|
||||
const authRouter = require('express').Router()
|
||||
const jwt = require('jsonwebtoken')
|
||||
const bcrypt = require('bcrypt')
|
||||
const { JWT_TOKEN, SALT } = require('./key')
|
||||
const { getResponse } = require('../utils/common')
|
||||
const { getUsers, addUser, getUserByEmail } = require('../controller')
|
||||
const checkRequiredMidleware = require('../midlewares/checkRequired.midleware')
|
||||
|
||||
authRouter.get('/users', async (req, res) => {
|
||||
let error = null
|
||||
const dishData = await getUsers().catch((e) => error = e.message)
|
||||
res.send(getResponse(error, dishData))
|
||||
})
|
||||
|
||||
authRouter.post(
|
||||
'/register',
|
||||
checkRequiredMidleware(['email', 'password']),
|
||||
async (req, res) => {
|
||||
const { email, password } = req.body
|
||||
const hash = await bcrypt.hash(password, SALT)
|
||||
let error = null
|
||||
const user = await addUser({ email, hash }).catch((e) => error = e.message)
|
||||
res.send(getResponse(error, user))
|
||||
},
|
||||
)
|
||||
|
||||
authRouter.post(
|
||||
'/login',
|
||||
checkRequiredMidleware(['email', 'password']),
|
||||
async (req, res) => {
|
||||
const { email, password } = req.body;
|
||||
let error = null
|
||||
const user = await getUserByEmail({ email }).catch((e) => error = e.message)
|
||||
if (user) {
|
||||
const passwordCorrect = await bcrypt.compare(password, user.hash)
|
||||
if (passwordCorrect) {
|
||||
// eslint-disable-next-line no-undef
|
||||
const token = jwt.sign({ email }, JWT_TOKEN)
|
||||
res.send({ email, token })
|
||||
return
|
||||
}
|
||||
}
|
||||
res.status(400).send('Incorrect email or password')
|
||||
},
|
||||
)
|
||||
|
||||
module.exports = authRouter
|
||||
33
server/routers/stc-22-24/routes/dish.js
Normal file
33
server/routers/stc-22-24/routes/dish.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const dishRouter = require('express').Router()
|
||||
const ObjectId = require('mongodb').ObjectID
|
||||
const { getResponse } = require('../utils/common')
|
||||
const { getDish, getTabs, getDishById, getDishByCategory } = require('../controller')
|
||||
|
||||
dishRouter.get('/', async (req, res) => {
|
||||
let error = null
|
||||
const dishData = await getDish().catch((e) => error = e.message)
|
||||
res.send(getResponse(error, dishData))
|
||||
})
|
||||
|
||||
dishRouter.get('/reservation', async (req, res) => {
|
||||
let error = null
|
||||
const tabData = await getTabs().catch((e) => error = e.message)
|
||||
res.send(getResponse(error, tabData))
|
||||
})
|
||||
|
||||
dishRouter.get('/alsolike/:dishId', async (req, res) => {
|
||||
let error = null
|
||||
const dish = await getDishById({ id: req.params.dishId }).catch((e) => error = e.message)
|
||||
const categoryArr = await getDishByCategory({
|
||||
cat: dish.category, id: req.params.dishId,
|
||||
}).catch((e) => error = e.message)
|
||||
res.status(200).send(getResponse(error, categoryArr))
|
||||
})
|
||||
|
||||
dishRouter.get('/:dishId', async (req, res) => {
|
||||
let error = null
|
||||
const dishData = await getDishById({ id: req.params.dishId }).catch((e) => error = e.message)
|
||||
res.send(getResponse(error, dishData))
|
||||
})
|
||||
|
||||
module.exports = dishRouter
|
||||
7
server/routers/stc-22-24/routes/key.js
Normal file
7
server/routers/stc-22-24/routes/key.js
Normal file
@@ -0,0 +1,7 @@
|
||||
const JWT_TOKEN = 'secret'
|
||||
const SALT = 3
|
||||
|
||||
module.exports = {
|
||||
JWT_TOKEN,
|
||||
SALT,
|
||||
}
|
||||
8
server/routers/stc-22-24/routes/order.js
Normal file
8
server/routers/stc-22-24/routes/order.js
Normal file
@@ -0,0 +1,8 @@
|
||||
const orderRouter = require('express').Router()
|
||||
|
||||
orderRouter.post('/', (req, res) => {
|
||||
const orderNumber = 2003
|
||||
res.status(200).send({ orderNumber })
|
||||
})
|
||||
|
||||
module.exports = orderRouter
|
||||
32
server/routers/stc-22-24/routes/reservation.js
Normal file
32
server/routers/stc-22-24/routes/reservation.js
Normal file
@@ -0,0 +1,32 @@
|
||||
const reservationRouter = require('express').Router()
|
||||
const { getTabs, updateTab } = require('../controller')
|
||||
|
||||
reservationRouter.get('/', async (req, res) => {
|
||||
let error = null
|
||||
const tabData = await getTabs().catch((e) => error = e.message)
|
||||
if (error) {
|
||||
res.status(400).send(error)
|
||||
} else {
|
||||
res.status(200).send(tabData)
|
||||
}
|
||||
})
|
||||
|
||||
reservationRouter.post('/post', async (req, res) => {
|
||||
let error = null
|
||||
const data = req.body
|
||||
console.log(data.length)
|
||||
const promises = []
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
const item = data[i]
|
||||
const result = updateTab(item.id, item.timeStamps)
|
||||
promises.push(result)
|
||||
}
|
||||
await Promise.all(promises).catch((e) => error = e.message)
|
||||
if (error) {
|
||||
res.status(400).send(error)
|
||||
} else {
|
||||
res.status(200).send()
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = reservationRouter
|
||||
Reference in New Issue
Block a user