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;