| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /** @jsxImportSource https://esm.d8d.fun/hono@4.7.4/jsx */
- import { Hono } from "hono";
- import { corsMiddleware, setEnvVariables, withAuth } from "./middlewares.ts";
- import type { APIClient } from "@d8d-appcontainer/api";
- import { Auth } from "@d8d-appcontainer/auth";
- // 导入路由模块
- import { createAuthRoutes } from "./routes_auth.ts";
- import { createUserRoutes } from "./routes_users.ts";
- import { createKnowInfoRoutes } from "./routes_know_info.ts";
- import { createFileUploadRoutes } from "./routes_file_upload.ts";
- import { createFileCategoryRoutes } from "./routes_file_category.ts";
- import { createThemeRoutes } from "./routes_theme.ts";
- import { createChartRoutes } from "./routes_charts.ts";
- import { createMapRoutes } from "./routes_maps.ts";
- import { createSystemSettingsRoutes } from "./routes_system_settings.ts";
- import { createMessagesRoutes } from "./routes_messages.ts";
- import { createMigrationsRoutes } from "./routes_migrations.ts";
- import { createHomeRoutes } from "./routes_home.ts";
- import { createClassRoomRoutes } from "./routes_classroom.ts";
- import { createStockRoutes } from "./routes_stock.ts";
- import { createClassroomDataRoutes } from "./routes_classroom_data.ts";
- import { createSubmissionRoutes } from "./routes_submission_records.ts";
- import { createDateNotesRoutes } from "./routes_date_notes.ts";
- import { createXunlianCodesRoutes } from "./routes_xunlian_codes.ts";
- import { createVodRoutes } from "./routes_vod.ts";
- export function createRouter(
- apiClient: APIClient,
- moduleDir: string,
- auth: Auth,
- ) {
- const router = new Hono();
- // 添加CORS中间件
- router.use("/*", corsMiddleware);
- // 创建API路由
- const api = new Hono();
- // 设置环境变量
- api.use("*", setEnvVariables(apiClient, moduleDir, auth));
- // 注册所有路由
- api.route("/auth", createAuthRoutes(withAuth));
- api.route("/users", createUserRoutes(withAuth));
- api.route("/know-infos", createKnowInfoRoutes(withAuth));
- api.route("/upload", createFileUploadRoutes(withAuth));
- api.route("/file-categories", createFileCategoryRoutes(withAuth));
- api.route("/theme", createThemeRoutes(withAuth));
- api.route("/charts", createChartRoutes(withAuth));
- api.route("/map", createMapRoutes(withAuth));
- api.route("/settings", createSystemSettingsRoutes(withAuth));
- api.route("/messages", createMessagesRoutes(withAuth));
- api.route("/migrations", createMigrationsRoutes(withAuth));
- api.route("/home", createHomeRoutes(withAuth));
- api.route("/classroom", createClassRoomRoutes(withAuth));
- api.route("/stock", createStockRoutes(withAuth));
- api.route("/classroom-datas", createClassroomDataRoutes(withAuth));
- api.route("/submission-records", createSubmissionRoutes(withAuth));
- api.route("/date-notes", createDateNotesRoutes(withAuth));
- api.route("/xunlian-codes", createXunlianCodesRoutes(withAuth));
- api.route("/vod", createVodRoutes(withAuth));
- // 注册API路由到主路由器
- router.route("/api", api);
- return router;
- }
|