test-user.routes.mt.ts 979 B

123456789101112131415161718192021222324252627
  1. import { OpenAPIHono } from '@hono/zod-openapi';
  2. import { createCrudRoutes } from '@d8d/shared-crud';
  3. import { TestUserEntityMt } from '../entities/test-user.entity';
  4. import { TestUserSchemaMt, TestCreateUserDtoMt, TestUpdateUserDtoMt } from '../schemas/test-user.schema.mt';
  5. // 创建多租户通用CRUD路由配置(测试版本,不包含认证中间件)
  6. const userCrudRoutesMt = createCrudRoutes({
  7. entity: TestUserEntityMt,
  8. createSchema: TestCreateUserDtoMt,
  9. updateSchema: TestUpdateUserDtoMt,
  10. getSchema: TestUserSchemaMt,
  11. listSchema: TestUserSchemaMt,
  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;