59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const VehicleType = require('../models/VehicleType');
|
|
|
|
// 获取所有车型(支持按 storeId 筛选)
|
|
router.get('/', async (req, res) => {
|
|
try {
|
|
const filter = {};
|
|
if (req.query.storeId) filter.storeId = req.query.storeId;
|
|
const vehicleTypes = await VehicleType.find(filter).sort({ createdAt: -1 });
|
|
res.json({ success: true, data: vehicleTypes });
|
|
} catch (error) {
|
|
res.status(500).json({ success: false, message: error.message });
|
|
}
|
|
});
|
|
|
|
// 创建车型
|
|
router.post('/', async (req, res) => {
|
|
try {
|
|
const vehicleType = new VehicleType(req.body);
|
|
await vehicleType.save();
|
|
res.status(201).json({ success: true, data: vehicleType });
|
|
} catch (error) {
|
|
res.status(400).json({ success: false, message: error.message });
|
|
}
|
|
});
|
|
|
|
// 更新车型
|
|
router.put('/:id', async (req, res) => {
|
|
try {
|
|
const vehicleType = await VehicleType.findByIdAndUpdate(
|
|
req.params.id,
|
|
req.body,
|
|
{ new: true, runValidators: true }
|
|
);
|
|
if (!vehicleType) {
|
|
return res.status(404).json({ success: false, message: '车型不存在' });
|
|
}
|
|
res.json({ success: true, data: vehicleType });
|
|
} catch (error) {
|
|
res.status(400).json({ success: false, message: error.message });
|
|
}
|
|
});
|
|
|
|
// 删除车型
|
|
router.delete('/:id', async (req, res) => {
|
|
try {
|
|
const vehicleType = await VehicleType.findByIdAndDelete(req.params.id);
|
|
if (!vehicleType) {
|
|
return res.status(404).json({ success: false, message: '车型不存在' });
|
|
}
|
|
res.json({ success: true, message: '车型已删除' });
|
|
} catch (error) {
|
|
res.status(500).json({ success: false, message: error.message });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|