diff --git a/README.md b/README.md index 3f4fdbf..c79002b 100644 --- a/README.md +++ b/README.md @@ -629,12 +629,16 @@ Phase 4: HTTP client + endpoints Phase 5: collections and files -- [ ] `listCollections()` paginating on `sinceTime` until empty -- [ ] Decrypt per-collection key with master key -- [ ] Decrypt collection name with collection key -- [ ] `listFiles(collectionID)` paginating on `sinceTime` while `hasMore` -- [ ] Decrypt per-file key with collection key -- [ ] Decrypt file metadata blob with file key, expose typed `FileMetadata` +- [x] `decryptCollection(raw, masterKey)` with key + name decryption, type + mapping, isShared flag +- [x] `decryptFile(raw, collectionKey)` with key + metadata decryption + (secretstream blob, not secretbox), fileType mapping, header passthrough +- [x] `decryptBlob(ciphertext, header, key)` convenience for single-chunk + secretstream decryption (used by file metadata and magic metadata) +- [x] Model types: `Collection`, `EnteFile`, `FileMetadata`, `RawCollection`, + `RawEnteFile` +- [x] Live-tested against real Ente API (collection names + file metadata) +- [ ] Higher-level `listCollections()` / `listFiles()` with pagination Phase 6: download