test-user.routes.mt.ts 950 B

123456789101112131415161718192021222324252627
  1. import { OpenAPIHono } from '@hono/zod-openapi';
  2. import { createCrudRoutes } from '@d8d/shared-crud';
  3. import { UserEntityMt } from '../../src/entities/user.entity.mt';
  4. import { UserSchemaMt, CreateUserDtoMt, UpdateUserDtoMt } from '../../src/schemas/user.schema.mt';
  5. // 创建多租户通用CRUD路由配置(测试版本,不包含认证中间件)
  6. const userCrudRoutesMt = createCrudRoutes({
  7. entity: UserEntityMt,
  8. createSchema: CreateUserDtoMt,
  9. updateSchema: UpdateUserDtoMt,
  10. getSchema: UserSchemaMt,
  11. listSchema: UserSchemaMt,
  12. searchFields: ['username', 'nickname', 'phone', 'email'],
  13. relations: ['roles'],
  14. readOnly: false, // 启用所有CRUD操作
  15. tenantOptions: {
  16. enabled: true,
  17. tenantIdField: 'tenantId',
  18. autoExtractFromContext: true
  19. }
  20. });
  21. // 创建多租户混合路由应用(测试版本)
  22. const app = new OpenAPIHono()
  23. .route('/', userCrudRoutesMt); // 多租户通用CRUD路由
  24. export default app;