role.routes.ts 730 B

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