feat(36-01): add /api/admin placeholder route with requireAuth + requireAdmin middleware
This commit is contained in:
@@ -12,6 +12,7 @@ import { mcpRoutes } from "./mcp/index.ts";
|
|||||||
import { requireAuth } from "./middleware/auth.ts";
|
import { requireAuth } from "./middleware/auth.ts";
|
||||||
import { createRateLimit } from "./middleware/rateLimit.ts";
|
import { createRateLimit } from "./middleware/rateLimit.ts";
|
||||||
import { accountRoutes } from "./routes/account.ts";
|
import { accountRoutes } from "./routes/account.ts";
|
||||||
|
import { adminRoutes } from "./routes/admin.ts";
|
||||||
import { authRoutes } from "./routes/auth.ts";
|
import { authRoutes } from "./routes/auth.ts";
|
||||||
import { categoryRoutes } from "./routes/categories.ts";
|
import { categoryRoutes } from "./routes/categories.ts";
|
||||||
import { communityPriceRoutes } from "./routes/community-prices.ts";
|
import { communityPriceRoutes } from "./routes/community-prices.ts";
|
||||||
@@ -280,6 +281,7 @@ app.use("/api/*", async (c, next) => {
|
|||||||
|
|
||||||
// API routes
|
// API routes
|
||||||
app.route("/api/account", accountRoutes);
|
app.route("/api/account", accountRoutes);
|
||||||
|
app.route("/api/admin", adminRoutes);
|
||||||
app.route("/api/auth", authRoutes);
|
app.route("/api/auth", authRoutes);
|
||||||
app.route("/api/items", itemRoutes);
|
app.route("/api/items", itemRoutes);
|
||||||
app.route("/api/categories", categoryRoutes);
|
app.route("/api/categories", categoryRoutes);
|
||||||
|
|||||||
16
src/server/routes/admin.ts
Normal file
16
src/server/routes/admin.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { Hono } from "hono";
|
||||||
|
import { requireAdmin, requireAuth } from "../middleware/auth.ts";
|
||||||
|
|
||||||
|
type Env = { Variables: { db?: any; userId?: number } };
|
||||||
|
|
||||||
|
const app = new Hono<Env>();
|
||||||
|
|
||||||
|
// All /api/admin/* routes require authentication + admin role
|
||||||
|
app.use("/*", requireAuth, requireAdmin);
|
||||||
|
|
||||||
|
// Health check / ping for admin access verification
|
||||||
|
app.get("/", async (c) => {
|
||||||
|
return c.json({ ok: true });
|
||||||
|
});
|
||||||
|
|
||||||
|
export { app as adminRoutes };
|
||||||
Reference in New Issue
Block a user