| 12345678910111213141516171819202122232425262728293031 |
- import { OpenAPIHono } from '@hono/zod-openapi';
- import { createCrudRoutes } from '@d8d/shared-crud';
- import { UserEntityMt } from '../entities/user.entity.mt';
- import { UserSchemaMt, CreateUserDtoMt, UpdateUserDtoMt } from '../schemas/user.schema.mt';
- import customRoutesMt from './custom.routes.mt';
- import { authMiddleware } from '@d8d/auth-module-mt';
- // 创建多租户通用CRUD路由配置
- const userCrudRoutesMt = createCrudRoutes({
- entity: UserEntityMt,
- createSchema: CreateUserDtoMt,
- updateSchema: UpdateUserDtoMt,
- getSchema: UserSchemaMt,
- listSchema: UserSchemaMt,
- searchFields: ['username', 'nickname', 'phone', 'email'],
- relations: ['roles', 'avatarFile'],
- middleware: [authMiddleware],
- readOnly: true, // 创建/更新/删除使用自定义路由
- tenantOptions: {
- enabled: true,
- tenantIdField: 'tenantId',
- autoExtractFromContext: true
- }
- });
- // 创建多租户混合路由应用
- const app = new OpenAPIHono()
- .route('/', customRoutesMt) // 多租户自定义业务路由
- .route('/', userCrudRoutesMt); // 多租户通用CRUD路由
- export default app;
|