Add EXIF search infrastructure (Phase 1 & 2)

Implements foundation for EXIF-based photo search capabilities:

- Add geo.rs module with GPS distance calculations (Haversine + bounding box)
- Extend FilesRequest with EXIF search parameters (camera, GPS, date, media type)
- Add MediaType enum and DateTakenAsc/DateTakenDesc sort options
- Create date_taken index migration for efficient date queries
- Implement ExifDao methods: get_exif_batch, query_by_exif, get_camera_makes
- Add FileWithMetadata struct for date-aware sorting
- Implement date sorting with filename extraction fallback
- Make extract_date_from_filename public for reuse

Next: Integrate EXIF filtering into list_photos() and enhance get_all_tags()
This commit is contained in:
Cameron
2025-12-18 09:34:07 -05:00
parent 52e1ced2a2
commit eb8e08b9ff
8 changed files with 314 additions and 1 deletions

View File

@@ -57,6 +57,7 @@ mod database;
mod error;
mod exif;
mod files;
mod geo;
mod state;
mod tags;
mod video;