Commit Graph

166 Commits

Author SHA1 Message Date
Cameron
721b66481e Add EXIF search implementation to list photos endpoint 2025-12-18 10:06:13 -05:00
Cameron
eb8e08b9ff 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()
2025-12-18 09:34:07 -05:00
Cameron
52e1ced2a2 Improved image caching and CORS handling 2025-12-17 22:36:03 -05:00
Cameron
c6b1b46629 Fix video part directory traversal 2025-12-17 22:32:46 -05:00
Cameron
c7fd328925 Check Exif DB for memory collection 2025-12-17 22:10:23 -05:00
Cameron
e4d988a9fd Cargo formatting 2025-12-17 22:10:03 -05:00
Cameron
d61fcb942a Exif comment on TZ handling 2025-12-17 22:09:03 -05:00
Cameron
07c27bf1bb Add HEIC and TIF image extensions to files endpoint 2025-12-17 16:57:27 -05:00
Cameron
4082f1fdb8 Add Exif storing and update to Metadata endpoint 2025-12-17 16:55:48 -05:00
Cameron
3c894335ce Added file date format for memories 2025-12-01 13:51:17 -05:00
Cameron
f02a858368 Bump to 0.3.1 and format/clippy 2025-12-01 13:04:55 -05:00
Cameron
a7d065aadc Tests and improved pattern-excluding behavior 2025-12-01 12:54:40 -05:00
Cameron
f5c53d1e0e Allow for pattern-based memories folder exclusion 2025-12-01 12:29:32 -05:00
Cameron
273b877e16 Update to Rust 2024 edition
Formatted code.
2025-09-01 13:36:27 -04:00
Cameron
2cc4124544 Just look for date format instead of screenshot text 2025-09-01 11:15:27 -04:00
Cameron
6f76a74b2e Add additional memories filename regex 2025-09-01 11:09:09 -04:00
Cameron
9c04fcb1d1 Add additional memories filename regex 2025-09-01 11:01:01 -04:00
Cameron
e46953194e Allow for excluding directories from Memories endpoint 2025-08-27 16:02:32 -04:00
Cameron
34784a39f6 Use rayon for memories endpoint 2025-08-21 16:39:33 -04:00
Cameron
93957bf389 Refactor date parsing from filename by introducing reusable closure, remove redundant logging level, and simplify regex logic. 2025-08-15 23:20:07 -04:00
Cameron
7dcf89c47e Add conditional sorting logic for Month span in memories sorting 2025-08-15 17:22:01 -04:00
Cameron
4315744abb Improve Memory sorting 2025-08-13 13:23:32 -04:00
Cameron
85093ff0c7 Add parsing date from filename for memories 2025-08-12 20:55:22 -04:00
Cameron
8d9a5fd79f Try adding timezone awareness 2025-08-11 17:11:02 -04:00
Cameron
6aa3c932fb Run cargo fmt 2025-08-11 17:08:24 -04:00
Cameron
88114ef4d4 Add Month memory filter span 2025-08-09 22:46:25 -04:00
Cameron
caed787c04 Add /memories endpoint 2025-08-09 22:24:48 -04:00
Cameron
b3a885de28 Run cargo fmt 2025-08-08 15:06:43 -04:00
Cameron
2ea36a4c9b Get tests building and sort of passing 2025-07-17 20:32:23 -04:00
Cameron
264195d3a2 Cleanup warnings 2025-07-17 20:08:12 -04:00
Cameron
e5afdd909b Serve video gifs when requested 2025-07-02 15:48:49 -04:00
Cameron
3fbdba2b9c Merge branch 'master' into feature/video-gifs 2025-06-16 21:06:38 -04:00
Cameron
97a07e11ca Fix SQL injection vulnerability in a tag query 2025-06-12 15:01:07 -04:00
Cameron
a25ffcc351 Add enhanced logging and tracing for playlist generation 2025-06-12 13:12:01 -04:00
Cameron
2c553a8016 Additional logging and tracing enhancements 2025-06-04 15:05:23 -04:00
Cameron
7c882fd31c Add webp files and improve logging 2025-06-03 15:23:39 -04:00
Cameron
6aff7f456a Manually pass the current context around 2025-06-03 14:06:19 -04:00
Cameron
c4153b404c Try using current context 2025-06-03 13:02:25 -04:00
Cameron
b11d647ffa Try fixing span context for db call tracing 2025-06-03 12:51:37 -04:00
Cameron
1e63e0c08c Add DB spans to the various queries 2025-06-03 12:07:26 -04:00
Cameron
785ce157e6 Get Otel span from the request 2025-05-23 18:24:54 -04:00
Cameron
d37deb36fe Additional Otel logging and spans 2025-05-23 14:51:54 -04:00
Cameron
24d2123fc2 Fix recursive-any tag counting
This is bad security wise so it'll need another pass.
2025-05-18 19:57:16 -04:00
Cameron
fe0446a43f Merge branch 'master' into feature/video-gifs
# Conflicts:
#	Cargo.toml
#	src/files.rs
#	src/main.rs
2025-05-17 15:57:01 -04:00
Cameron
484eec8b39 Only use Otel on release builds 2025-05-17 13:41:30 -04:00
Cameron
5b17fba51f Add sorting by a File's Tag Count 2025-05-17 13:41:14 -04:00
Cameron
518fba0ef5 Add missing otel.rs 2025-05-06 20:26:02 -04:00
Cameron
d6451ee782 Add Simple OpenTelemetry setup 2025-05-06 20:15:03 -04:00
Cameron
399f5f2336 Add ability to create summary clips of existing videos 2024-12-14 20:55:10 -05:00
Cameron
0edb0dbdd1 Cleanup 2024-12-07 21:53:39 -05:00