index.ts 886 B

12345678910111213141516171819202122232425
  1. import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
  2. import { Role } from '@/server/modules/users/role.entity';
  3. import { RoleSchema, CreateRoleDto, UpdateRoleDto } from '@/server/modules/users/role.schema';
  4. import { authMiddleware } from '@/server/middleware/auth.middleware';
  5. import { checkPermission, permissionMiddleware } from '@/server/middleware/permission.middleware';
  6. import { OpenAPIHono } from '@hono/zod-openapi';
  7. // 创建角色CRUD路由
  8. const roleRoutes = createCrudRoutes({
  9. entity: Role,
  10. createSchema: CreateRoleDto,
  11. updateSchema: UpdateRoleDto,
  12. getSchema: RoleSchema,
  13. listSchema: RoleSchema,
  14. searchFields: ['name', 'description'],
  15. middleware: [
  16. authMiddleware,
  17. // permissionMiddleware(checkPermission(['role:manage']))
  18. ]
  19. })
  20. const app = new OpenAPIHono()
  21. .route('/', roleRoutes)
  22. // .route('/', customRoute)
  23. export default app;