feat: 初始化项目结构并添加核心功能模块
- 新增文档模板和导航结构 - 实现服务器基础API路由和控制器 - 添加扩展插件配置和前端框架 - 引入多租户和权限管理模块 - 集成日志和数据库配置 - 添加核心业务模型和类型定义
This commit is contained in:
28
server/src/api/routes/product.ts
Normal file
28
server/src/api/routes/product.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { Router } 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';
|
||||
|
||||
const router = Router();
|
||||
|
||||
// Standard CRUD
|
||||
router.get('/', TurboGateway.cache(300), ProductController.getAll);
|
||||
|
||||
// Enhanced Crawlful AI functions
|
||||
router.post('/autonomous-listing', requireTraceContext, ProductController.startAutonomousListing);
|
||||
router.post('/collect-async', requireTraceContext, ProductController.collectAsync);
|
||||
router.get('/collect-and-optimize', TurboGateway.throttle(10, 60000), ProductController.collectAndOptimize);
|
||||
router.get('/:id/arbitrage-analyze', requireTraceContext, ProductController.analyzeArbitrage);
|
||||
router.get('/visual-match', TurboGateway.cache(600), ProductController.findSimilar);
|
||||
router.post('/:id/review', requireTraceContext, requirePermission('product:write'), ProductController.approve);
|
||||
router.post('/:id/pulse', requireTraceContext, ProductController.checkPulse);
|
||||
router.post('/:id/wash', requireTraceContext, requirePermission('product:write'), ProductController.washAndLocalize);
|
||||
router.post('/:id/inquiry', requireTraceContext, requirePermission('product:write'), ProductController.generateInquiry);
|
||||
router.get('/:id/price-advice', ProductController.getPriceAdvice);
|
||||
router.get('/:id', TurboGateway.cache(300), ProductController.getById);
|
||||
router.post('/', requireTraceContext, requirePermission('product:write'), ProductController.create);
|
||||
router.put('/:id', requireTraceContext, requirePermission('product:write'), ProductController.update);
|
||||
router.delete('/:id', requireTraceContext, requirePermission('product:delete'), ProductController.delete);
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user