const express = require('express'); const { verifyToken } = require('../auth'); const { approveReceipt, createFabricPlan, createReceipt, deleteFabricPlan, deleteReceipt, getSupplySummary, listFabricPlans, listLots, listMovements, listPurchaseNeeds, listReceipts } = require('../services/supplyService'); const router = express.Router(); router.get('/supply', verifyToken, async (req, res, next) => { try { res.json(await getSupplySummary()); } catch (error) { next(error); } }); router.get('/supply/receipts', verifyToken, async (req, res, next) => { try { res.json(await listReceipts()); } catch (error) { next(error); } }); router.post('/supply/receipts', verifyToken, async (req, res, next) => { try { res.status(201).json(await createReceipt(req.body || {})); } catch (error) { next(error); } }); router.post('/supply/receipts/:id/approve', verifyToken, async (req, res, next) => { try { res.json(await approveReceipt(req.params.id)); } catch (error) { next(error); } }); router.delete('/supply/receipts/:id', verifyToken, async (req, res, next) => { try { await deleteReceipt(req.params.id); res.status(204).end(); } catch (error) { next(error); } }); router.get('/supply/lots', verifyToken, async (req, res, next) => { try { res.json(await listLots()); } catch (error) { next(error); } }); router.get('/supply/movements', verifyToken, async (req, res, next) => { try { res.json(await listMovements()); } catch (error) { next(error); } }); router.get('/supply/fabric-plans', verifyToken, async (req, res, next) => { try { res.json(await listFabricPlans()); } catch (error) { next(error); } }); router.post('/supply/fabric-plans', verifyToken, async (req, res, next) => { try { res.status(201).json(await createFabricPlan(req.body || {})); } catch (error) { next(error); } }); router.delete('/supply/fabric-plans/:id', verifyToken, async (req, res, next) => { try { await deleteFabricPlan(req.params.id); res.status(204).end(); } catch (error) { next(error); } }); router.get('/supply/purchase-needs', verifyToken, async (req, res, next) => { try { res.json(await listPurchaseNeeds()); } catch (error) { next(error); } }); module.exports = router;