Extracted domain-specific sub-routers from monolithic `server/routes/admin.ts` and `server/routes/auth.ts` into isolated modules within `server/routes/admin/` and `server/routes/auth/` respectively. The original entry routers were updated to import and assemble these sub-routers without breaking their current HTTP interface or rate limiting/authorization middleware. Testing and linting were run ensuring perfect functionality and 100% test passing score. Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
23 lines
880 B
TypeScript
23 lines
880 B
TypeScript
import { Hono } from "jsr:@hono/hono@4";
|
|
import { requireAdmin } from "../auth-session.ts";
|
|
import { adminRateLimiter } from "../middleware.ts";
|
|
|
|
import { usersAdminRoutes } from "./admin/users.ts";
|
|
import { appsAdminRoutes } from "./admin/apps.ts";
|
|
import { rolesAdminRoutes } from "./admin/roles.ts";
|
|
import { invitesAdminRoutes } from "./admin/invites.ts";
|
|
import { hardwareKeysAdminRoutes } from "./admin/hardware_keys.ts";
|
|
import { auditAdminRoutes } from "./admin/audit.ts";
|
|
|
|
export const adminRoutes = new Hono();
|
|
|
|
adminRoutes.use("*", requireAdmin);
|
|
adminRoutes.use("*", adminRateLimiter);
|
|
|
|
adminRoutes.route("/users", usersAdminRoutes);
|
|
adminRoutes.route("/apps", appsAdminRoutes);
|
|
adminRoutes.route("/roles", rolesAdminRoutes);
|
|
adminRoutes.route("/invites", invitesAdminRoutes);
|
|
adminRoutes.route("/", hardwareKeysAdminRoutes);
|
|
adminRoutes.route("/", auditAdminRoutes);
|