소스 검색

✨ feat(api): add crud routes for multiple modules

- 新增classroom-data模块CRUD路由,支持按classroomNo和code搜索
- 新增date-notes模块CRUD路由,支持按code和note搜索
- 新增stock-data模块CRUD路由,支持按code搜索
- 新增stock-xunlian-codes模块CRUD路由,支持按code、stockName和name搜索
- 新增submission-records模块CRUD路由,支持按classroomNo、userId和code搜索
- 所有路由均应用authMiddleware进行权限验证
yourname 5 달 전
부모
커밋
e2799039b4

+ 16 - 0
src/server/api/classroom-data/index.ts

@@ -0,0 +1,16 @@
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { ClassroomData } from '@/server/modules/classroom/classroom-data.entity';
+import { ClassroomDataSchema, CreateClassroomDataDto, UpdateClassroomDataDto } from '@/server/modules/classroom/classroom-data.entity';
+import { authMiddleware } from '@/server/middleware/auth.middleware';
+
+const classroomDataRoutes = createCrudRoutes({
+  entity: ClassroomData,
+  createSchema: CreateClassroomDataDto,
+  updateSchema: UpdateClassroomDataDto,
+  getSchema: ClassroomDataSchema,
+  listSchema: ClassroomDataSchema,
+  searchFields: ['classroomNo', 'code'],
+  middleware: [authMiddleware]
+});
+
+export default classroomDataRoutes;

+ 16 - 0
src/server/api/date-notes/index.ts

@@ -0,0 +1,16 @@
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { DateNotes } from '@/server/modules/stock/date-notes.entity';
+import { DateNotesSchema, CreateDateNotesDto, UpdateDateNotesDto } from '@/server/modules/stock/date-notes.entity';
+import { authMiddleware } from '@/server/middleware/auth.middleware';
+
+const dateNotesRoutes = createCrudRoutes({
+  entity: DateNotes,
+  createSchema: CreateDateNotesDto,
+  updateSchema: UpdateDateNotesDto,
+  getSchema: DateNotesSchema,
+  listSchema: DateNotesSchema,
+  searchFields: ['code', 'note'],
+  middleware: [authMiddleware]
+});
+
+export default dateNotesRoutes;

+ 16 - 0
src/server/api/stock-data/index.ts

@@ -0,0 +1,16 @@
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { StockData } from '@/server/modules/stock/stock-data.entity';
+import { StockDataSchema, CreateStockDataDto, UpdateStockDataDto } from '@/server/modules/stock/stock-data.entity';
+import { authMiddleware } from '@/server/middleware/auth.middleware';
+
+const stockDataRoutes = createCrudRoutes({
+  entity: StockData,
+  createSchema: CreateStockDataDto,
+  updateSchema: UpdateStockDataDto,
+  getSchema: StockDataSchema,
+  listSchema: StockDataSchema,
+  searchFields: ['code'],
+  middleware: [authMiddleware]
+});
+
+export default stockDataRoutes;

+ 16 - 0
src/server/api/stock-xunlian-codes/index.ts

@@ -0,0 +1,16 @@
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { StockXunlianCodes } from '@/server/modules/stock/stock-xunlian-codes.entity';
+import { StockXunlianCodesSchema, CreateStockXunlianCodesDto, UpdateStockXunlianCodesDto } from '@/server/modules/stock/stock-xunlian-codes.entity';
+import { authMiddleware } from '@/server/middleware/auth.middleware';
+
+const stockXunlianCodesRoutes = createCrudRoutes({
+  entity: StockXunlianCodes,
+  createSchema: CreateStockXunlianCodesDto,
+  updateSchema: UpdateStockXunlianCodesDto,
+  getSchema: StockXunlianCodesSchema,
+  listSchema: StockXunlianCodesSchema,
+  searchFields: ['code', 'stockName', 'name'],
+  middleware: [authMiddleware]
+});
+
+export default stockXunlianCodesRoutes;

+ 16 - 0
src/server/api/submission-records/index.ts

@@ -0,0 +1,16 @@
+import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { SubmissionRecords } from '@/server/modules/submission/submission-records.entity';
+import { SubmissionRecordsSchema, CreateSubmissionRecordsDto, UpdateSubmissionRecordsDto } from '@/server/modules/submission/submission-records.entity';
+import { authMiddleware } from '@/server/middleware/auth.middleware';
+
+const submissionRecordsRoutes = createCrudRoutes({
+  entity: SubmissionRecords,
+  createSchema: CreateSubmissionRecordsDto,
+  updateSchema: UpdateSubmissionRecordsDto,
+  getSchema: SubmissionRecordsSchema,
+  listSchema: SubmissionRecordsSchema,
+  searchFields: ['classroomNo', 'userId', 'code'],
+  middleware: [authMiddleware]
+});
+
+export default submissionRecordsRoutes;