quanyoumi/backend/routes/registration.js

49 lines
1.3 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { Registration, Activity } = require('../models');
// 提交报名
router.post('/registrations', async (req, res) => {
try {
const { activityId, name, phone, carModel, carNumber, note } = req.body;
const activity = await Activity.findByPk(activityId);
if (!activity) {
return res.status(404).json({ error: '活动不存在' });
}
const registration = await Registration.create({
activityId, name, phone, carModel, carNumber, note
});
res.json(registration.toJSON());
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 查询报名状态
router.get('/registrations/:id', async (req, res) => {
try {
const registration = await Registration.findByPk(req.params.id, { raw: true });
res.json(registration);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// 获取活动报名列表(已通过)
router.get('/activities/:id/registrations', async (req, res) => {
try {
const registrations = await Registration.findAll({
where: { activityId: req.params.id, status: 'approved' },
raw: true
});
res.json(registrations);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
module.exports = router;