import { ApiError } from "../errors"; import { env } from "../../config/env"; function extractAdminToken(req) { const raw = req.header("authorization") || ""; if (raw.startsWith("Bearer ")) { return raw.slice(7); } return raw || req.header("x-admin-token") || ""; } export function requireAdminToken(req, _res, next) { const token = extractAdminToken(req); if (!token) { return next(new ApiError("UNAUTHORIZED", "Missing admin bearer token", 401)); } if (token !== env.ADMIN_TOKEN) { return next(new ApiError("UNAUTHORIZED", "Invalid admin token", 401)); } return next(); } export function requireDeviceToken(req, _res, next) { const raw = req.header("authorization") || ""; const token = raw.startsWith("Bearer ") ? raw.slice(7) : raw; if (!token) { return next(new ApiError("UNAUTHORIZED", "Missing device bearer token", 401)); } if (token !== env.DEVICE_TOKEN) { return next(new ApiError("UNAUTHORIZED", "Invalid device token", 401)); } return next(); }