import { NextRequest, NextResponse } from 'next/server'; /** * Authentication middleware for admin API routes * Verifies that the request includes a valid admin session token */ export async function requireAdminAuth(request: NextRequest): Promise { const authHeader = request.headers.get('x-admin-auth'); if (!authHeader || authHeader !== 'authenticated') { return NextResponse.json( { error: 'Unauthorized - Admin authentication required' }, { status: 401 } ); } return null; // Auth successful } /** * Helper to verify admin password */ export async function verifyAdminPassword(password: string): Promise { const bcrypt = await import('bcryptjs'); const adminPasswordHash = process.env.ADMIN_PASSWORD || '$2b$10$SHOt9G1qUNIvHoWre7499.eEtp5PtOII0daOQGNV.dhDEuPmOUdsq'; return bcrypt.compare(password, adminPasswordHash); }