import { execSync } from 'child_process';

const TOKEN = '53c0cc31a6cb27901dd29f1215d4ee5fe5064a19';
const DOMAIN = 'forgejo.seureview.com.br';
const USER = 'marciobever';
const REPO = 'festa-magica-ia';

async function updateAndPush() {
    try {
        console.log(`Tornando o repositório público (${DOMAIN})...`);
        const patchRes = await fetch(`https://${DOMAIN}/api/v1/repos/${USER}/${REPO}`, {
            method: 'PATCH',
            headers: {
                'Authorization': `token ${TOKEN}`,
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                private: false
            })
        });

        if (!patchRes.ok) {
            console.log(`Aviso ao atualizar repo:`, await patchRes.text());
        } else {
            console.log('✅ Repositório atualizado para PÚBLICO (resolve o erro de Username/Password no Coolify).');
        }

        console.log('\nAdicionando Dockerfile e arquivos...');
        execSync('git add Dockerfile .dockerignore nginx.conf scripts/fix-repo-and-push.ts', { stdio: 'inherit' });
        
        try {
          execSync('git commit -m "Adiciona Dockerfile e configuração Nginx para deploy SPA"', { stdio: 'inherit' });
        } catch (e) {
          console.log('Nada para commitar.');
        }

        console.log('\nFazendo push do código...');
        execSync('git push origin main', { stdio: 'inherit' });
        
        console.log(`\n🎉 Resolvido e push concluído com sucesso!`);
    } catch (error: any) {
        console.error('\n❌ Ocorreu um erro:', error.message);
    }
}

updateAndPush();
