Spaces:
Sleeping
Sleeping
| const express = require('express'); | |
| const router = express.Router(); | |
| const Order = require('../models/Order'); | |
| const authMiddleware = require('../middleware/auth'); | |
| // GET all orders (admin) | |
| router.get('/', authMiddleware, async (req, res) => { | |
| try { | |
| const orders = await Order.find().sort({ createdAt: -1 }); | |
| res.json(orders); | |
| } catch (err) { | |
| res.status(500).json({ error: err.message }); | |
| } | |
| }); | |
| // GET orders by user | |
| router.get('/user/:userId', async (req, res) => { | |
| try { | |
| const orders = await Order.find({ userId: req.params.userId }).sort({ createdAt: -1 }); | |
| res.json(orders); | |
| } catch (err) { | |
| res.status(500).json({ error: err.message }); | |
| } | |
| }); | |
| // POST create order | |
| router.post('/', async (req, res) => { | |
| try { | |
| const orderId = 'ORD-' + Date.now().toString(36).toUpperCase(); | |
| const order = new Order({ orderId, ...req.body }); | |
| await order.save(); | |
| res.status(201).json(order); | |
| } catch (err) { | |
| res.status(400).json({ error: err.message }); | |
| } | |
| }); | |
| // PUT update order status (admin) | |
| router.put('/:orderId/status', authMiddleware, async (req, res) => { | |
| try { | |
| const order = await Order.findOneAndUpdate( | |
| { orderId: req.params.orderId }, | |
| { status: req.body.status }, | |
| { new: true } | |
| ); | |
| if (!order) return res.status(404).json({ error: 'Buyurtma topilmadi' }); | |
| res.json(order); | |
| } catch (err) { | |
| res.status(400).json({ error: err.message }); | |
| } | |
| }); | |
| module.exports = router; | |