| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import express from 'express';
- const router = express.Router();
- // GET /api/receipt — 查询回执列表
- router.get('/', async (req, res) => {
- try {
- const Parse = (globalThis as any).Parse;
- const q = new Parse.Query('Receipt');
- q.descending('createdAt');
- q.limit(50);
- const list = await q.find({ useMasterKey: true });
- const data = list.map((r: any) => r.toJSON());
- res.json({ success: true, data });
- } catch (e: any) {
- res.status(500).json({ success: false, error: e.message });
- }
- });
- // GET /api/receipt/:id — 查询单个回执
- router.get('/:id', async (req, res) => {
- try {
- const Parse = (globalThis as any).Parse;
- const q = new Parse.Query('Receipt');
- q.equalTo('objectId', req.params.id);
- const receipt = await q.first({ useMasterKey: true });
- if (!receipt) {
- return res.status(404).json({ success: false, error: '回执不存在' });
- }
- res.json({ success: true, data: receipt.toJSON() });
- } catch (e: any) {
- res.status(500).json({ success: false, error: e.message });
- }
- });
- // POST /api/receipt — 创建/更新回执
- router.post('/', async (req, res) => {
- try {
- const Parse = (globalThis as any).Parse;
- const { objectId, ...fields } = req.body;
- let obj: any;
- if (objectId) {
- const q = new Parse.Query('Receipt');
- obj = await q.get(objectId, { useMasterKey: true });
- } else {
- const Receipt = Parse.Object.extend('Receipt');
- obj = new Receipt();
- }
- Object.entries(fields).forEach(([key, value]) => {
- obj.set(key, value);
- });
- const saved = await obj.save(null, { useMasterKey: true });
- res.json({ success: true, data: saved.toJSON() });
- } catch (e: any) {
- res.status(500).json({ success: false, error: e.message });
- }
- });
- export default router;
|