fixed a bug
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import express, { Request, Response } from 'express';
|
||||
import { SudokuRecord, SudokuDifficulty } from '../models/SudokuRecord';
|
||||
import { SudokuRecord, SudokuDifficulty, SudokuGameMode } from '../models/SudokuRecord';
|
||||
import { auth } from '../middleware/auth';
|
||||
|
||||
const router = express.Router();
|
||||
@@ -7,7 +7,7 @@ const router = express.Router();
|
||||
// 提交数独记录(需要登录)
|
||||
router.post('/record', auth, async (req: Request, res: Response) => {
|
||||
try {
|
||||
const { difficulty, timeSeconds, won } = req.body;
|
||||
const { difficulty, timeSeconds, won, gameMode = 'standard' } = req.body;
|
||||
|
||||
if (!req.user?._id) {
|
||||
return res.status(401).json({ error: '未登录' });
|
||||
@@ -26,11 +26,17 @@ router.post('/record', auth, async (req: Request, res: Response) => {
|
||||
return res.status(400).json({ error: '无效的游戏结果' });
|
||||
}
|
||||
|
||||
const validGameModes: SudokuGameMode[] = ['standard', 'irregular'];
|
||||
if (!validGameModes.includes(gameMode)) {
|
||||
return res.status(400).json({ error: '无效的游戏模式' });
|
||||
}
|
||||
|
||||
const record = new SudokuRecord({
|
||||
userId: req.user._id,
|
||||
username: req.user.username,
|
||||
fullname: req.user.fullname || req.user.username,
|
||||
difficulty,
|
||||
gameMode,
|
||||
timeSeconds,
|
||||
won
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user