/var/www/qr4y.kz/server/delivery/api/routes
Edit: /var/www/qr4y.kz/server/delivery/api/routes/index.js (3566B)
const bodyParser = require('body-parser')
const cors = require('cors')
const compression = require('compression')
const auth = require('../middleware/auth')
const logger = require('../../logger')({ service: 'api' })
const { ApiError, NotFound } = require('../responseModels/errors')
module.exports = ({ app, db, router }) => {
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app.use(cors({ origin: '*' }))
app.disable('x-powered-by')
app.use(compression())
app.use(function (req, res, next) {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', '*')
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST')
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'Authorization, Origin, Accept, Content-Type')
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true)
// Pass to next layer of middleware
next()
})
app.use(require('./auth.router')({ router, db }))
app.use(require('./branch.router')({ router, db }))
app.use(require('./branchReview.router')({ router, db }))
app.use(require('./category.router')({ router, db }))
app.use(require('./company.router')({ router, db }))
app.use(require('./companyReview.router')({ router, db }))
app.use(require('./companyType.router')({ router, db }))
app.use(require('./countryCode.router')({ router, db }))
app.use(require('./driver.router')({ router, db }))
app.use(require('./delivery.router')({ router, db }))
app.use(require('./language.router')({ router, db }))
app.use(require('./productGroup.router')({ router, db }))
app.use(require('./productReview.router')({ router, db }))
app.use(require('./payType.router')({ router, db }))
app.use(require('./deliveryType.router')({ router, db }))
app.use(require('./productType.router')({ router, db }))
app.use(require('./productTypeFeature.router')({ router, db }))
app.use(require('./product.router')({ router, db }))
app.use(require('./permission.router')({ router, db }))
app.use(require('./role.router')({ router, db }))
app.use(require('./room.router')({ router, db }))
app.use(require('./table.router')({ router, db }))
app.use(require('./tableReserv.router')({ auth, db, logger, router }))
app.use(require('./user.router')({ router, db }))
app.use(require('./userAccount.router')({ auth, db, logger, router }))
app.use(require('./userCart.router')({ router, db }))
app.use(require('./order.router')({ router, db }))
app.use(require('./orderCancelCause.router')({ router, db }))
app.use(require('./waiter.router')({ router, db }))
// tools
app.get('/tools/websocket', async (req, res, next) => {
return res.sendFile('/wwwroot/tools/websocket/index.html', { root: APP_ROOT })
})
app.get('/tools/pushmessage', async (req, res, next) => {
return res.sendFile('/wwwroot/tools/pushmessage/index.html', { root: APP_ROOT })
})
app.use(async (req, res, next) => {
logger.child({
path: req.path,
user: req.user?.uid || null,
stack: ''
}).error('Not Found')
return res.status(404).json(new NotFound())
})
app.use(async (error, req, res, next) => {
//console.log(error)
const { code, message, stack, statusCode } = error
logger.child({
path: req.path,
user: req.user?.uid || null,
error: stack || ''
}).error(message)
return res.status(statusCode || 500).json(new ApiError({ code, message, statusCode }))
})
}