import type { Context, Next } from "hono"; import { verifyToken } from "../services/jwt.js"; export const authMiddleware = async (context: Context, next: Next): Promise => { const authorization = context.req.header("Authorization"); if (!authorization?.startsWith("Bearer ")) { context.status(401); context.json({ error: "Missing or invalid Authorization header" }); return; } const token = authorization.slice(7); try { const payload = verifyToken(token); context.set("discordId", payload.discordId); await next(); } catch { context.status(401); context.json({ error: "Invalid or expired token" }); } };