- Añade `computeHashesFromStream` para hashing desde streams - Adapta `importDirectory` para procesar entradas internas usando `streamArchiveEntry` - Añade tests unitarios para hashing por stream e import de entradas de archive
1.8 KiB
1.8 KiB
Phase 3 Complete: Hashing por stream y soporte en importService
TL;DR: Implementado computeHashesFromStream y adaptado importDirectory para procesar entradas internas de archivos usando archiveReader.streamArchiveEntry. Añadidos tests unitarios TDD que validan hashing desde streams y el flujo de import para entradas internas.
Files created/changed:
- backend/src/services/checksumService.ts (añade
computeHashesFromStream) - backend/src/services/importService.ts (usa
streamArchiveEntryycomputeHashesFromStreamparaisArchiveEntry) - backend/tests/services/checksumService.stream.spec.ts (nuevo)
- backend/tests/services/importService.archiveEntry.spec.ts (nuevo)
Functions created/changed:
computeHashesFromStream(rs)— calculamd5,sha1,crc32ysizedesde unReadable.importDirectory— para objetos conisArchiveEntryobtiene un stream constreamArchiveEntry(containerPath, entryPath)y calcula hashes en streaming.
Tests creados/ejecutados:
backend/tests/services/checksumService.stream.spec.ts— pasa (1 test).backend/tests/services/importService.archiveEntry.spec.ts— pasa (1 test).
Review Status: APPROVED with minor recommendations
Notas / Recomendaciones:
- Se sugiere limpiar listeners en
computeHashesFromStream(evitar fugas con streams inusuales). - Algunos specs usan casts
as unknown as vi.Mock; si TypeScript da errores, convertir esos casts aimport type { Mock } from 'vitest'y usarMocko usarany.
Git Commit Message: feat: stream hashing and archive-entry import support
- Añade
computeHashesFromStreampara hashing desde streams - Adapta
importDirectorypara procesar entradas internas usandostreamArchiveEntry - Añade tests unitarios para hashing por stream e import de entradas de archive