/**
 * Crée l'issue Gitea "[Frontend] Inscription Parent – Branchement soumission formulaire à l'API"
 * Usage: node backend/scripts/create-gitea-issue-parent-api.js
 * Token : .gitea-token (racine du dépôt), sinon GITEA_TOKEN, sinon
 * docs/27_BRIEFING-FRONTEND.md (voir docs/26_GITEA-API.md)
 */
const https = require('https');
const fs = require('fs');
const path = require('path');

const repoRoot = path.join(__dirname, '../..');
let token = process.env.GITEA_TOKEN;
if (!token) {
  try {
    const tokenFile = path.join(repoRoot, '.gitea-token');
    if (fs.existsSync(tokenFile)) {
      token = fs.readFileSync(tokenFile, 'utf8').trim();
    }
  } catch (_) {}
}
if (!token) {
  try {
    const briefing = fs.readFileSync(
      path.join(repoRoot, 'docs/27_BRIEFING-FRONTEND.md'),
      'utf8',
    );
    const m = briefing.match(/Token:\s*(giteabu_[a-f0-9]+)/);
    if (m) token = m[1].trim();
  } catch (_) {}
}
if (!token) {
  console.error(
    'Token non trouvé : créer .gitea-token à la racine ou export GITEA_TOKEN (voir docs/26_GITEA-API.md)',
  );
  process.exit(1);
}

const body = `## Description

Branchement du formulaire d'inscription parent (étape 5, récapitulatif) à l'endpoint d'inscription. Aujourd'hui la soumission n'appelle pas l'API : elle affiche uniquement une modale puis redirige vers le login.

**Estimation** : 4h | **Labels** : frontend, p3, auth, cdc

## Tâches

- [ ] Créer un service ou méthode (ex. AuthService.registerParent) appelant POST /api/v1/auth/register/parent
- [ ] Construire le body (DTO) à partir de UserRegistrationData (parent1, parent2, children, motivationText, CGU) en cohérence avec le backend (#18)
- [ ] Dans ParentRegisterStep5Screen, au clic « Soumettre » : appel API puis modale + redirection ou message d'erreur
- [ ] Gestion des photos enfants (base64 ou multipart selon API)

## Référence

20_WORKFLOW-CREATION-COMPTE.md § Étape 3 – Inscription d'un parent, backend #18`;

const payload = JSON.stringify({
  title: "[Frontend] Inscription Parent – Branchement soumission formulaire à l'API",
  body,
});

const opts = {
  hostname: 'git.ptits-pas.fr',
  path: '/api/v1/repos/jmartin/petitspas/issues',
  method: 'POST',
  headers: {
    Authorization: 'token ' + token,
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(payload),
  },
};

const req = https.request(opts, (res) => {
  let d = '';
  res.on('data', (c) => (d += c));
  res.on('end', () => {
    try {
      const o = JSON.parse(d);
      if (o.number) {
        console.log('NUMBER:', o.number);
        console.log('URL:', o.html_url);
      } else {
        console.error('Erreur API:', o.message || d);
        process.exit(1);
      }
    } catch (e) {
      console.error('Réponse:', d);
      process.exit(1);
    }
  });
});
req.on('error', (e) => {
  console.error(e);
  process.exit(1);
});
req.write(payload);
req.end();
