Tick off Phase 5 collection/file decryption TODO
This commit is contained in:
16
README.md
16
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user