feat: expose archive entries in fsScanner
- Añade `scanDirectory` support para listar entradas internas de ZIP/7z - Añade test unitario que mockea `archiveReader.listArchiveEntries` - Añade límite configurable `ARCHIVE_MAX_ENTRIES` y comprobación básica de seguridad
This commit is contained in:
28
plans/integrar-archive-entries-plan-phase-2-complete.md
Normal file
28
plans/integrar-archive-entries-plan-phase-2-complete.md
Normal file
@@ -0,0 +1,28 @@
|
||||
## Phase 2 Complete: Exponer entradas internas en el escáner
|
||||
|
||||
TL;DR: `scanDirectory` ahora lista entradas internas de contenedores ZIP/7z como items virtuales codificados usando `::`. Se añadieron tests unitarios que mockean `archiveReader.listArchiveEntries` y se introdujo un límite configurable `ARCHIVE_MAX_ENTRIES`.
|
||||
|
||||
**Files created/changed:**
|
||||
|
||||
- backend/src/services/fsScanner.ts
|
||||
- backend/tests/services/fsScanner.archiveEntries.spec.ts
|
||||
|
||||
**Functions created/changed:**
|
||||
|
||||
- `scanDirectory(dirPath)` — ahora, al detectar un archivo contenedor, invoca `listArchiveEntries(container)` y añade items virtuales con:
|
||||
- `path: "${containerPath}::${entryPath}"`
|
||||
- `containerPath`, `entryPath`, `filename`, `size`, `format`, `isArchiveEntry: true`
|
||||
- Añadido `ARCHIVE_MAX_ENTRIES` (configurable via `process.env.ARCHIVE_MAX_ENTRIES`, default 1000).
|
||||
|
||||
**Tests created/changed:**
|
||||
|
||||
- `backend/tests/services/fsScanner.archiveEntries.spec.ts` — valida que `scanDirectory` incluya la entrada interna codificada y que los metadatos (`filename`, `format`, `containerPath`, `entryPath`, `isArchiveEntry`) sean correctos.
|
||||
|
||||
**Review Status:** APPROVED
|
||||
|
||||
**Git Commit Message:**
|
||||
feat: expose archive entries in fsScanner
|
||||
|
||||
- Añade `scanDirectory` support para listar entradas internas de ZIP/7z
|
||||
- Añade test unitario que mockea `archiveReader.listArchiveEntries`
|
||||
- Añade límite configurable `ARCHIVE_MAX_ENTRIES` y comprobación básica de seguridad
|
||||
Reference in New Issue
Block a user