import fs from "fs";
import axios from "axios";


async function main() {
    const API_URL = 'http://localhost:5000';

    async function fetchArticlePaths() {
        try {
            const response = await axios.get(`${API_URL}/api/articles/sitemap`);
            return response.data.articles;
        } catch (error) {
            console.error('Ошибка при получении путей статей:', error.message);
            return [];
        }
    }

    const articles = await fetchArticlePaths();

    // Базовые маршруты
    const routes = ["/", "/about", "/articles"];

    // Добавляем статьи
    for (const row of articles) {
        routes.push(`/article/${row.id}`);
    }

    // Загружаем шаблон react-snap конфигурации
    const baseConfig = {
        inlineCss: true,
        source: "dist",
        skipThirdPartyRequests: true,
        routes
    };

    // Сохраняем в отдельный файл
    fs.writeFileSync("./react-snap.config.js",
        `export default ${JSON.stringify(baseConfig, null, 2)};\n`
    );

    console.log(`✅ Добавлено ${routes.length} маршрутов для react-snap`);
}

main().catch(err => {
    console.error("❌ Ошибка:", err);
    process.exit(1);
});
