import { Request, Response, NextFunction } from 'express';
export const apiKeyAuth = (req: Request, res: Response, next: NextFunction): void => {
    const apiKey = req.header('X-API-Key');
    const validApiKey = process.env.CRON_API_KEY;

    // Check if API key is configured
    if (!validApiKey) {
        console.error('CRON_API_KEY is not configured in environment variables');
        res.status(500).json({
            success: false,
            message: 'Server configuration error'
        });
        return;
    }

    // Check if API key is provided
    if (!apiKey) {
        res.status(401).json({
            success: false,
            message: 'API key is required. Provide X-API-Key header.'
        });
        return;
    }

    // Validate API key
    if (apiKey !== validApiKey) {
        res.status(403).json({
            success: false,
            message: 'Invalid API key'
        });
        return;
    }

    // API key is valid, proceed
    next();
};

