48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
const express = require('express');
|
||
const router = express.Router();
|
||
const Conflict = require('../models/Conflict');
|
||
const { authMiddleware, requireRole } = require('../middleware/auth');
|
||
|
||
// 获取所有矛盾记录(admin 或 store)
|
||
router.get('/', authMiddleware, requireRole('admin', 'store'), async (req, res) => {
|
||
try {
|
||
const conflicts = await Conflict.find();
|
||
res.json({ success: true, data: conflicts });
|
||
} catch (error) {
|
||
res.status(500).json({ success: false, message: '服务器内部错误' });
|
||
}
|
||
});
|
||
|
||
// 创建矛盾记录(admin 或 store)
|
||
router.post('/', authMiddleware, requireRole('admin', 'store'), async (req, res) => {
|
||
try {
|
||
const conflict = new Conflict(req.body);
|
||
await conflict.save();
|
||
res.json({ success: true, data: conflict });
|
||
} catch (error) {
|
||
res.status(400).json({ success: false, message: '服务器内部错误' });
|
||
}
|
||
});
|
||
|
||
// 更新矛盾记录(admin 或 store)
|
||
router.put('/:id', authMiddleware, requireRole('admin', 'store'), async (req, res) => {
|
||
try {
|
||
const conflict = await Conflict.findByIdAndUpdate(req.params.id, req.body, { new: true });
|
||
res.json({ success: true, data: conflict });
|
||
} catch (error) {
|
||
res.status(400).json({ success: false, message: '服务器内部错误' });
|
||
}
|
||
});
|
||
|
||
// 删除矛盾记录(admin 或 store)
|
||
router.delete('/:id', authMiddleware, requireRole('admin', 'store'), async (req, res) => {
|
||
try {
|
||
await Conflict.findByIdAndDelete(req.params.id);
|
||
res.json({ success: true });
|
||
} catch (error) {
|
||
res.status(400).json({ success: false, message: '服务器内部错误' });
|
||
}
|
||
});
|
||
|
||
module.exports = router;
|