canvas-website/src/lib/google
Jeff Emmett 58ff544c46 feat: implement Google Data Sovereignty module for local-first data control
Core modules:
- encryption.ts: WebCrypto AES-256-GCM, HKDF key derivation, PKCE utilities
- database.ts: IndexedDB schema for gmail, drive, photos, calendar
- oauth.ts: OAuth 2.0 PKCE flow with encrypted token storage
- share.ts: Create tldraw shapes from encrypted data
- backup.ts: R2 backup service with encrypted manifest

Importers:
- gmail.ts: Gmail import with pagination and batch storage
- drive.ts: Drive import with folder navigation, Google Docs export
- photos.ts: Photos thumbnail import (403 issue pending investigation)
- calendar.ts: Calendar import with date range filtering

Test interface at /google route for debugging OAuth flow.

Known issue: Photos API returning 403 on some thumbnail URLs - needs
further investigation with proper OAuth consent screen setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 15:22:40 -08:00
..
importers feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
backup.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
database.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
encryption.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
index.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
oauth.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
share.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00
types.ts feat: implement Google Data Sovereignty module for local-first data control 2025-12-04 15:22:40 -08:00