Spaces:
Running
Running
| const ReturnRequest = require('../models/returnRequestModel'); | |
| // 1. Submit Return Request (Public) | |
| exports.submitRequest = async (req, res) => { | |
| try { | |
| const newRequest = await ReturnRequest.create(req.body); | |
| res.status(201).json({ | |
| status: 'success', | |
| message: 'تم إرسال طلب الاسترجاع بنجاح', | |
| data: { request: newRequest }, | |
| }); | |
| } catch (err) { | |
| res.status(400).json({ | |
| status: 'fail', | |
| message: err.message, | |
| }); | |
| } | |
| }; | |
| // 2. Get All Requests (Admin) | |
| exports.getAllRequests = async (req, res) => { | |
| try { | |
| const requests = await ReturnRequest.find().sort({ createdAt: -1 }); | |
| res.status(200).json({ | |
| status: 'success', | |
| results: requests.length, | |
| data: { requests }, | |
| }); | |
| } catch (err) { | |
| res.status(500).json({ | |
| status: 'fail', | |
| message: err.message, | |
| }); | |
| } | |
| }; | |
| // 3. Delete Request (Admin) | |
| exports.deleteRequest = async (req, res) => { | |
| try { | |
| const request = await ReturnRequest.findByIdAndDelete(req.params.id); | |
| if (!request) { | |
| return res.status(404).json({ | |
| status: 'fail', | |
| message: 'No request found with that ID', | |
| }); | |
| } | |
| res.status(204).json({ | |
| status: 'success', | |
| data: null, | |
| }); | |
| } catch (err) { | |
| res.status(400).json({ | |
| status: 'fail', | |
| message: err.message, | |
| }); | |
| } | |
| }; | |
| // 4. Toggle Read Status (Admin) | |
| exports.toggleReadStatus = async (req, res) => { | |
| try { | |
| const request = await ReturnRequest.findById(req.params.id); | |
| if (!request) { | |
| return res.status(404).json({ | |
| status: 'fail', | |
| message: 'No request found with that ID', | |
| }); | |
| } | |
| request.isRead = !request.isRead; | |
| await request.save(); | |
| res.status(200).json({ | |
| status: 'success', | |
| data: { request }, | |
| }); | |
| } catch (err) { | |
| res.status(400).json({ | |
| status: 'fail', | |
| message: err.message, | |
| }); | |
| } | |
| }; | |