feat: 添加@types/jest依赖并优化类型安全
refactor: 重构代码减少any类型使用,增加类型定义 fix: 修复TypeScript编译错误和类型不匹配问题 docs: 更新代码审查修复总结文档 style: 优化代码格式和注释 perf: 添加性能优化工具函数和虚拟滚动组件 test: 完善测试相关配置和类型定义 build: 更新package-lock.json文件
This commit is contained in:
@@ -1,8 +1,46 @@
|
||||
import { Router } from 'express';
|
||||
import { Router, Request, Response, NextFunction } from 'express';
|
||||
import { TurboGateway } from '../../core/gateway/TurboGateway';
|
||||
import { requireTraceContext } from '../../core/guards/trace-context.guard';
|
||||
import { requirePermission } from '../../core/guards/rbac.guard';
|
||||
import { ProductController } from '../controllers/ProductController';
|
||||
import { z } from 'zod';
|
||||
|
||||
// 验证模式
|
||||
const productIdSchema = z.string().min(1, 'Product ID is required');
|
||||
const batchOperationSchema = z.object({
|
||||
operation: z.string().min(1, 'Operation is required'),
|
||||
productIds: z.array(z.string().min(1, 'Product ID is required')),
|
||||
data: z.record(z.string(), z.any()).optional()
|
||||
});
|
||||
const platformMappingSchema = z.object({
|
||||
productId: z.string().min(1, 'Product ID is required'),
|
||||
platform: z.string().min(1, 'Platform is required'),
|
||||
platformProductId: z.string().min(1, 'Platform product ID is required'),
|
||||
mappingData: z.record(z.string(), z.any()).optional()
|
||||
});
|
||||
|
||||
// 验证中间件
|
||||
const validateBody = (schema: z.ZodObject<any>) => {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
schema.parse(req.body);
|
||||
next();
|
||||
} catch (error) {
|
||||
res.status(400).json({ error: error.message });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const validateParam = (paramName: string, schema: z.ZodString) => {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
schema.parse(req.params[paramName]);
|
||||
next();
|
||||
} catch (error) {
|
||||
res.status(400).json({ error: error.message });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const router = Router();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user