feat/apollo-places-tool and Geo Tagging Exif #60
Reference in New Issue
Block a user
Delete Branch "feat/apollo-places-tool"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
New endpoint accepts {path, library, latitude, longitude} and shells out to exiftool to write GPSLatitude/GPSLongitude (with N/S, E/W refs) into the file's EXIF in place. After the write, the handler re-extracts EXIF and updates the image_exif row so the DB stays in sync — the response carries the updated metadata block in one round-trip. Falls through to store_exif if the row is missing. `exif::write_gps` is the small helper. `-overwrite_original` so no .orig sidecar is left behind. Validates lat/lon range + supports_exif before spawning exiftool. Format support matches the existing read path (JPEG / TIFF / RAW / HEIF / PNG / WebP) — videos still need a different writer and aren't covered. Apollo's "+ PIN" carousel button (separate commit on the Apollo side) calls this through /api/photos/exif/gps. Drive-by: cargo fmt one-line collapse on apollo_client.rs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>