Photo: save path, is-local, content bytes, metadata and EXIF getters (closes #141)
check / check (push) Successful in 1m34s

A Photo now has savePath and isLocal, which look only at the disk;
content() and exif(), which may download the original; and modifiedAt,
hash, fileSize and year. PhotoRecord gains modifiedAt, hash and fileSize.
The JPEG EXIF scan moves from metadata-backup.ts to the new src/exif.ts,
so the read surface does not import the backup command.

Model: opus-5-5
This commit is contained in:
2026-10-01 15:09:17 +00:00
parent e6825abcdb
commit e7f75685e5
12 changed files with 533 additions and 86 deletions
+2
View File
@@ -159,6 +159,8 @@ describe("deriveRecords: photo mapping", () => {
expect("width" in rec).toBe(false);
expect("height" in rec).toBe(false);
expect("latitude" in rec).toBe(false);
expect("hash" in rec).toBe(false);
expect("fileSize" in rec).toBe(false);
});
it("reads archived and hidden from private magicMetadata.visibility", () => {