Update task task-025
This commit is contained in:
parent
a50e3dad58
commit
16acd3d6ef
|
|
@ -4,7 +4,7 @@ title: 'Google Export: Local-First Data Sovereignty'
|
||||||
status: In Progress
|
status: In Progress
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2025-12-04 20:25'
|
created_date: '2025-12-04 20:25'
|
||||||
updated_date: '2025-12-04 20:28'
|
updated_date: '2025-12-04 20:43'
|
||||||
labels:
|
labels:
|
||||||
- feature
|
- feature
|
||||||
- google
|
- google
|
||||||
|
|
@ -27,19 +27,43 @@ Architecture docs in: docs/GOOGLE_DATA_SOVEREIGNTY.md
|
||||||
|
|
||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
<!-- AC:BEGIN -->
|
<!-- AC:BEGIN -->
|
||||||
- [ ] #1 OAuth 2.0 with PKCE flow for Google APIs
|
- [x] #1 OAuth 2.0 with PKCE flow for Google APIs
|
||||||
- [ ] #2 IndexedDB schema for encrypted data storage
|
- [x] #2 IndexedDB schema for encrypted data storage
|
||||||
- [ ] #3 WebCrypto key derivation from master key
|
- [x] #3 WebCrypto key derivation from master key
|
||||||
- [ ] #4 Gmail import with pagination and progress
|
- [x] #4 Gmail import with pagination and progress
|
||||||
- [ ] #5 Drive document import
|
- [x] #5 Drive document import
|
||||||
- [ ] #6 Photos thumbnail import
|
- [x] #6 Photos thumbnail import
|
||||||
- [ ] #7 Calendar event import
|
- [x] #7 Calendar event import
|
||||||
- [ ] #8 Share to board functionality
|
- [x] #8 Share to board functionality
|
||||||
- [ ] #9 R2 encrypted backup/restore
|
- [x] #9 R2 encrypted backup/restore
|
||||||
<!-- AC:END -->
|
<!-- AC:END -->
|
||||||
|
|
||||||
## Implementation Notes
|
## Implementation Notes
|
||||||
|
|
||||||
<!-- SECTION:NOTES:BEGIN -->
|
<!-- SECTION:NOTES:BEGIN -->
|
||||||
Starting implementation - reviewed architecture doc GOOGLE_DATA_SOVEREIGNTY.md
|
Starting implementation - reviewed architecture doc GOOGLE_DATA_SOVEREIGNTY.md
|
||||||
|
|
||||||
|
Implemented core Google Data Sovereignty module:
|
||||||
|
|
||||||
|
- types.ts: Type definitions for all encrypted data structures
|
||||||
|
|
||||||
|
- encryption.ts: WebCrypto AES-256-GCM encryption, HKDF key derivation, PKCE utilities
|
||||||
|
|
||||||
|
- database.ts: IndexedDB schema with stores for gmail, drive, photos, calendar, sync metadata, encryption metadata, tokens
|
||||||
|
|
||||||
|
- oauth.ts: OAuth 2.0 PKCE flow for Google APIs with encrypted token storage
|
||||||
|
|
||||||
|
- importers/gmail.ts: Gmail import with pagination, progress tracking, batch storage
|
||||||
|
|
||||||
|
- importers/drive.ts: Drive import with folder navigation, Google Docs export
|
||||||
|
|
||||||
|
- importers/photos.ts: Photos import with thumbnail caching, album support
|
||||||
|
|
||||||
|
- importers/calendar.ts: Calendar import with date range filtering, recurring events
|
||||||
|
|
||||||
|
- share.ts: Share service for creating tldraw shapes from encrypted data
|
||||||
|
|
||||||
|
- backup.ts: R2 backup service with encrypted manifest, checksum verification
|
||||||
|
|
||||||
|
- index.ts: Main module with GoogleDataService class and singleton pattern
|
||||||
<!-- SECTION:NOTES:END -->
|
<!-- SECTION:NOTES:END -->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue