import { Request, Response, NextFunction } from 'express';
import axios from 'axios';

const getTodaysMiniCrossword = async (req: Request, res: Response, next: NextFunction) => {
    try {
        const date = new Date().toISOString().split('T')[0];

        // Updated endpoint (date-based)
        const url = `https://www.nytimes.com/svc/crosswords/v6/puzzle/mini/${date}.json`;

        const response = await axios.get(url, {
            headers: {
                "X-Games-Auth-Bypass": "true",
                "Accept": "application/json",
                "User-Agent": "Mozilla/5.0"
            }
        });

        res.json(response.data);
    } catch (error: any) {
        console.error("Error fetching Mini Crossword data:", error?.response?.status, error?.message);
        res.status(error?.response?.status || 500).json({
            error: 'Failed to fetch Mini Crossword data',
            details: error?.response?.data || error?.message
        });
    }
};

export { getTodaysMiniCrossword };
