mediaDrop/tests
Nicolas b85607b096 Dépôt de dossiers + très gros fichiers
Dépôt de dossiers :
- flag `allowDirectories` (défaut false) par cible dans config.json + schéma.
- POST /upload accepte `?path=<chemin relatif>` : l'arborescence est recréée
  sous `dir`, nom d'origine conservé, fichier écrasé si présent.
- src/lib/paths.ts : assainissement segment par segment (pas de `..`, pas de
  séparateur) + vérification de confinement dans storage.ts -> aucune sortie
  possible de la cible. Refus 400 si la cible n'autorise pas les dossiers.
- GET /targets expose `allowDirectories`.
- Page : glisser-déposer d'un dossier (parcours récursif webkitGetAsEntry) +
  bouton « parcourir un dossier », visibles selon la cible.

Très gros fichiers (~10 Go) :
- `requestTimeout: 0` / `connectionTimeout: 0` : aucun timeout serveur imposé.
- écriture disque avec un tampon de 1 Mio.
- doc : `maxFileSizeMb` à l'échelle Go, réglages reverse proxy.

Tests : +paths.test.ts, +placement (storage), +dossier & gros fichier (upload) ;
60 tests.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 00:19:20 +02:00
..
auth-flow.test.ts Initial commit: mediaDrop — serveur de dépôt de fichiers médias 2026-09-09 23:06:53 +02:00
config.test.ts Dépôt de dossiers + très gros fichiers 2026-09-10 00:19:20 +02:00
helpers.ts Dépôt de dossiers + très gros fichiers 2026-09-10 00:19:20 +02:00
media-types.test.ts Initial commit: mediaDrop — serveur de dépôt de fichiers médias 2026-09-09 23:06:53 +02:00
oidc.test.ts Initial commit: mediaDrop — serveur de dépôt de fichiers médias 2026-09-09 23:06:53 +02:00
paths.test.ts Dépôt de dossiers + très gros fichiers 2026-09-10 00:19:20 +02:00
session.test.ts Initial commit: mediaDrop — serveur de dépôt de fichiers médias 2026-09-09 23:06:53 +02:00
storage.test.ts Dépôt de dossiers + très gros fichiers 2026-09-10 00:19:20 +02:00
upload.test.ts Dépôt de dossiers + très gros fichiers 2026-09-10 00:19:20 +02:00