router.ts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /** @jsxImportSource https://esm.d8d.fun/hono@4.7.4/jsx */
  2. import { Hono } from 'hono'
  3. import { corsMiddleware, withAuth, setEnvVariables } from './middlewares.ts'
  4. import type { APIClient } from '@d8d-appcontainer/api'
  5. // 导入路由模块
  6. import { createAuthRoutes } from "./routes_auth.ts"
  7. import { createUserRoutes } from "./routes_users.ts"
  8. import { createKnowInfoRoutes } from "./routes_know_info.ts"
  9. import { createFileUploadRoutes } from "./routes_file_upload.ts"
  10. import { createFileCategoryRoutes } from "./routes_file_category.ts"
  11. import { createThemeRoutes } from "./routes_theme.ts"
  12. import { createChartRoutes } from "./routes_charts.ts"
  13. import { createMapRoutes } from "./routes_maps.ts"
  14. import { createSystemSettingsRoutes } from "./routes_system_settings.ts"
  15. import { createMessagesRoutes } from "./routes_messages.ts"
  16. import { createMigrationsRoutes } from "./routes_migrations.ts"
  17. import { createHomeRoutes } from "./routes_home.ts"
  18. import { createZichanRoutes } from "./routes_zichan.ts";
  19. import { createZichanAreaRoutes } from "./routes_zichan_area.ts";
  20. import { createModbusRtuDeviceRoutes } from "./routes_modbus_rtu_device.ts";
  21. import { createZichanCategoryRoutes } from "./routes_zichan_category.ts";
  22. import { createZichanTransferRoutes } from "./routes_zichan_transfer.ts";
  23. import { createDeviceTypesRoutes } from "./routes_device_types.ts";
  24. import { createDeviceInstancesRoutes } from "./routes_device_instances.ts";
  25. import { createBigRoutes } from "./routes_big.ts";
  26. import { createRackServerTypeRoutes } from "./routes_rack_server_type.ts";
  27. import { createRackServerRoutes } from "./routes_rack_server.ts";
  28. import { createRackRoutes } from "./routes_rack.ts";
  29. import { createMonitorDataRoutes } from "./routes_monitor_data.ts";
  30. import { createMonitorMapRoutes } from "./routes_monitor_map.ts";
  31. import { createDeviceAlertRulesRoutes } from "./routes_device_alert_rules.ts";
  32. import { createAlertNotifyConfigsRoutes } from "./routes_alert_notify_configs.ts";
  33. import { createAlertHandlesRoutes } from "./routes_alert_handles.ts";
  34. import { createAlertsRoutes } from "./routes_alerts.ts";
  35. import { createInspectionsRoutes } from "./routes_inspections.ts";
  36. import { createWorkOrderRoutes } from "./routes_work_orders.ts";
  37. import { createSmsRoutes } from "./routes_sms.ts";
  38. export function createRouter(apiClient: APIClient, moduleDir: string) {
  39. const router = new Hono()
  40. // 添加CORS中间件
  41. router.use('/*', corsMiddleware)
  42. // 创建API路由
  43. const api = new Hono()
  44. // 设置环境变量
  45. api.use('*', setEnvVariables(apiClient, moduleDir))
  46. // 注册所有路由
  47. api.route('/auth', createAuthRoutes(withAuth))
  48. api.route('/sms', createSmsRoutes(withAuth))
  49. api.route('/users', createUserRoutes(withAuth))
  50. api.route('/know-infos', createKnowInfoRoutes(withAuth))
  51. api.route('/upload', createFileUploadRoutes(withAuth))
  52. api.route('/file-categories', createFileCategoryRoutes(withAuth))
  53. api.route('/theme', createThemeRoutes(withAuth))
  54. api.route('/charts', createChartRoutes(withAuth))
  55. api.route('/map', createMapRoutes(withAuth))
  56. api.route('/settings', createSystemSettingsRoutes(withAuth))
  57. api.route('/messages', createMessagesRoutes(withAuth))
  58. api.route('/migrations', createMigrationsRoutes(withAuth))
  59. api.route('/home', createHomeRoutes(withAuth))
  60. // 注册资产管理路由
  61. api.route('/zichan', createZichanRoutes(withAuth))
  62. // 注册资产归属区域管理路由
  63. api.route('/zichan-areas', createZichanAreaRoutes(withAuth))
  64. // 注册资产分类管理路由
  65. api.route('/zichan-categories', createZichanCategoryRoutes(withAuth))
  66. // 注册资产流转管理路由
  67. api.route('/zichan-transfer', createZichanTransferRoutes(withAuth))
  68. api.route('/device/types', createDeviceTypesRoutes(withAuth));
  69. api.route('/device/instances', createDeviceInstancesRoutes(withAuth));
  70. api.route('/device/modbus-rtu', createModbusRtuDeviceRoutes(withAuth));
  71. api.route('/rack-server-types', createRackServerTypeRoutes(withAuth))
  72. api.route('/racks', createRackRoutes(withAuth))
  73. api.route('/rack-servers', createRackServerRoutes(withAuth))
  74. api.route('/monitor/data', createMonitorDataRoutes(withAuth))
  75. api.route('/monitor', createMonitorMapRoutes(withAuth))
  76. api.route('/device-alert-rules', createDeviceAlertRulesRoutes(withAuth))
  77. api.route('/alert-notify-configs', createAlertNotifyConfigsRoutes(withAuth))
  78. api.route('/alert-handles', createAlertHandlesRoutes(withAuth))
  79. api.route('/alerts', createAlertsRoutes(withAuth)) // 添加设备告警路由
  80. // 注册巡检API路由
  81. api.route('/inspections', createInspectionsRoutes(withAuth))
  82. // 注册工单API路由
  83. api.route('/work-orders', createWorkOrderRoutes(withAuth))
  84. // 注册大屏API路由
  85. api.route('/big', createBigRoutes(withAuth))
  86. // 注册API路由到主路由器
  87. router.route('/api', api)
  88. return router
  89. }