managarten/apps/contacts
Till JS ecec3d56fe fix(contacts): optimize storage usage and fix photo orphan bug
Bug fix:
- ContactService.delete() now cleans up S3 photo before DB deletion
  (previously left orphaned files in storage)
- ContactModule imports PhotoModule for dependency injection

PhotoService improvements:
- Use maxSizeBytes in upload() instead of manual validateFileSize()
- Use getPublicUrl()/result.url instead of manual URL construction
  via getStorageConfig() + BUCKETS concatenation
- Add cacheControl header for immutable photo assets (1 year)
- Add upload hooks for structured logging via Logger
- Add deletePhotoByUrl() for contact deletion cleanup
- Add deleteAllUserPhotos() for account deletion via deleteByPrefix()
- Store photos in 'photos' subfolder for cleaner key structure
- Remove unused getStorageConfig/BUCKETS imports

Test fix:
- Add PhotoService mock to ContactService spec

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 20:01:43 +01:00
..
apps fix(contacts): optimize storage usage and fix photo orphan bug 2026-03-20 20:01:43 +01:00
docs ♻️ refactor(contacts): remove statistics, network view and session storage; implement demo mode 2026-01-28 14:12:19 +01:00
CLAUDE.md feat: major update with network graphs, themes, todo extensions, and more 2025-12-10 02:37:46 +01:00
package.json 🔧 chore: enforce monorepo best practices with automated validation 2025-12-25 17:57:00 +01:00