batchCooking/apps/api
Nicolas 429aa06ca6
Some checks failed
CI / lint (push) Successful in 2m56s
CI / build (push) Successful in 3m4s
CI / intent-service-test (push) Successful in 4m52s
CI / e2e (push) Successful in 11m1s
CI / test (push) Failing after 18m29s
CI / build-android (push) Has been skipped
fix(admin): passe les variables FORGEJO_* au conteneur app
L'intégration Forgejo (« Créer un ticket » depuis un message de contact,
issue #81) restait invisible en prod Docker : `docker-compose.yml` ne
listait pas `FORGEJO_BASE_URL` / `FORGEJO_TOKEN` / `FORGEJO_REPO` dans le
bloc `environment:` du service `app`, et `**/.env` est `.dockerignore`d — le
process API ne voyait donc jamais ces variables, `ForgejoService.isConfigured()`
renvoyait `false` et le bouton restait masqué sur `/admin/messages`.

- `docker-compose.yml` : les 3 `FORGEJO_*` passées au conteneur via
  `${VAR:-}`, même forme que `ADMIN_JWT_SECRET` / `INTERNAL_WORKER_SECRET`.
- `config/env.ts` : `blankAsUnset` sur les 3 champs — `${VAR:-}` arrive
  comme `""` quand le `.env` du stack laisse la variable vide ; sans ça une
  valeur vide ferait échouer `.url()` / la regex `owner/repo` et planter
  `envSchema.parse()` au boot. Même parade que `COOKIE_SECURE`. `envSchema`
  exporté pour le test.
- `.env.example` (racine) : documente les 3 variables au niveau compose.
- `apps/api/test/env.test.ts` : blanc = absent, + non-régression sur une
  valeur non vide mais mal formée.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 22:58:13 +02:00
..
prisma feat(recipes): signaler une technique absente du catalogue (#130) 2026-09-09 15:40:35 +02:00
src fix(admin): passe les variables FORGEJO_* au conteneur app 2026-09-09 22:58:13 +02:00
test fix(admin): passe les variables FORGEJO_* au conteneur app 2026-09-09 22:58:13 +02:00
test-support feat(contact): modèle + POST /contact + formulaire utilisateur (#80) 2026-09-08 08:26:47 +02:00
.env.example feat(admin): crée un ticket Forgejo depuis un message de contact (#81) 2026-09-08 20:10:54 +02:00
.env.test.example feat(admin): fondation auth de l'application d'administration 2026-08-28 23:36:29 +02:00
.mocharc.json feat(recipes): migre la detection des tech steps de node-nlp vers un microservice Python spaCy 2026-08-26 09:03:52 +02:00
Dockerfile fix(recipes): persiste les métadonnées de clause des tech-steps à l'édition 2026-09-04 09:08:15 +02:00
package.json feat(admin): pousse le monitoring en WebSocket au lieu du polling client 2026-09-05 14:44:39 +02:00
tsconfig.json Scaffold generic pnpm monorepo (api + web + shared) (#1) 2026-08-16 10:55:13 +02:00