Compare commits

..

2 Commits

Author SHA1 Message Date
RustamRu
979bf24767 feat: extract order handlers 2025-01-19 11:49:29 +03:00
RustamRu
98daf19853 remove try-catch 2025-01-19 11:45:42 +03:00
295 changed files with 105 additions and 162 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "multi-stub", "name": "multi-stub",
"version": "1.2.0", "version": "1.1.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "multi-stub", "name": "multi-stub",
"version": "1.2.0", "version": "1.1.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"axios": "^1.7.9", "axios": "^1.7.9",

View File

@ -1,6 +1,6 @@
{ {
"name": "multi-stub", "name": "multi-stub",
"version": "1.2.0", "version": "1.1.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@ -1,21 +1,13 @@
const router = require('express').Router() const router = require('express').Router()
const { OrderModel } = require('./model/order') const { OrderModel } = require('./model/order')
router.post('/orders', async (req, res, next) => { router.get('/orders', async (req, res, next) => {
const {startDate, endDate} = req.body try {
const orders = await OrderModel.find({})
if (!startDate || !endDate) {
throw new Error('startDate and endDate are required')
}
const orders = await OrderModel.find({
$or: [
{startWashTime: { $gte: new Date(startDate), $lte: new Date(endDate) }},
{endWashTime: { $gte: new Date(startDate), $lte: new Date(endDate) }},
]
})
res.status(200).send({ success: true, body: orders }) res.status(200).send({ success: true, body: orders })
} catch (error) {
next(error)
}
}) })
module.exports = router module.exports = router

View File

@ -74,7 +74,7 @@ const VALIDATION_MESSAGES = {
}, },
} }
router.post('/create', async (req, res, next) => { const createOrder = async (req, res) => {
const bodyErrors = [] const bodyErrors = []
const { customer } = req.body const { customer } = req.body
@ -120,7 +120,6 @@ router.post('/create', async (req, res, next) => {
throw new Error(bodyErrors.join(', ')) throw new Error(bodyErrors.join(', '))
} }
try {
const order = await OrderModel.create({ const order = await OrderModel.create({
phone: customer.phone, phone: customer.phone,
carNumber: car.number, carNumber: car.number,
@ -135,31 +134,23 @@ router.post('/create', async (req, res, next) => {
}) })
res.status(200).send({ success: true, body: order }) res.status(200).send({ success: true, body: order })
}
} catch (error) { const getOrder = async (req, res) => {
next(error)
}
})
router.get('/:id', async (req, res, next) => {
const { id } = req.params const { id } = req.params
if (!mongoose.Types.ObjectId.isValid(id)) { if (!mongoose.Types.ObjectId.isValid(id)) {
throw new Error(VALIDATION_MESSAGES.orderId.invalid) throw new Error(VALIDATION_MESSAGES.orderId.invalid)
} }
try {
const order = await OrderModel.findById(id) const order = await OrderModel.findById(id)
if (!order) { if (!order) {
throw new Error(VALIDATION_MESSAGES.order.notFound) throw new Error(VALIDATION_MESSAGES.order.notFound)
} }
res.status(200).send({ success: true, body: order }) res.status(200).send({ success: true, body: order })
} catch (error) { }
next(error)
}
})
router.patch('/:id', async (req, res, next) => { const updateOrder = async (req, res) => {
const { id } = req.params const { id } = req.params
if (!mongoose.Types.ObjectId.isValid(id)) { if (!mongoose.Types.ObjectId.isValid(id)) {
throw new Error(VALIDATION_MESSAGES.orderId.invalid) throw new Error(VALIDATION_MESSAGES.orderId.invalid)
@ -179,14 +170,10 @@ router.patch('/:id', async (req, res, next) => {
if (!mongoose.Types.ObjectId.isValid(masterId)) { if (!mongoose.Types.ObjectId.isValid(masterId)) {
bodyErrors.push(VALIDATION_MESSAGES.masterId.invalid) bodyErrors.push(VALIDATION_MESSAGES.masterId.invalid)
} else { } else {
try {
const master = await MasterModel.findById(masterId) const master = await MasterModel.findById(masterId)
if (!master) { if (!master) {
bodyErrors.push(VALIDATION_MESSAGES.master.notFound) bodyErrors.push(VALIDATION_MESSAGES.master.notFound)
} }
} catch (error) {
next(error)
}
} }
} }
@ -201,7 +188,6 @@ router.patch('/:id', async (req, res, next) => {
throw new Error(bodyErrors.join(', ')) throw new Error(bodyErrors.join(', '))
} }
try {
const updateData = {} const updateData = {}
if (status) { if (status) {
updateData.status = status updateData.status = status
@ -224,18 +210,14 @@ router.patch('/:id', async (req, res, next) => {
} }
res.status(200).send({ success: true, body: order }) res.status(200).send({ success: true, body: order })
} catch (error) { }
next(error)
}
})
router.delete('/:id', async (req, res, next) => { const deleteOrder = async (req, res) => {
const { id } = req.params const { id } = req.params
if (!mongoose.Types.ObjectId.isValid(id)) { if (!mongoose.Types.ObjectId.isValid(id)) {
throw new Error(VALIDATION_MESSAGES.orderId.invalid) throw new Error(VALIDATION_MESSAGES.orderId.invalid)
} }
try {
const order = await OrderModel.findByIdAndDelete(id, { const order = await OrderModel.findByIdAndDelete(id, {
new: true, new: true,
}) })
@ -243,9 +225,11 @@ router.delete('/:id', async (req, res, next) => {
throw new Error(VALIDATION_MESSAGES.order.notFound) throw new Error(VALIDATION_MESSAGES.order.notFound)
} }
res.status(200).send({ success: true, body: order }) res.status(200).send({ success: true, body: order })
} catch (error) { }
next(error)
} router.post('/create', createOrder)
}) router.get('/:id', getOrder)
router.patch('/:id', updateOrder)
router.delete('/:id', deleteOrder)
module.exports = router module.exports = router

Some files were not shown because too many files have changed in this diff Show More