feat(files): Google Drive integration (#49)
* feat(files): wire file browser to Google Drive API
replace mock file data with real Google Drive integration
via domain-wide delegation (service account impersonation).
- add google drive REST API v3 library (JWT auth, drive
client, rate limiting, token cache)
- add schema: google_auth, google_starred_files tables,
users.googleEmail column
- add 16+ server actions for full CRUD (browse, upload,
download, create folders, rename, move, trash/restore)
- add download proxy route with google-native file export
- add folder-by-ID route (/dashboard/files/folder/[id])
- refactor use-files hook to fetch from server actions
with mock data fallback when disconnected
- update all file browser components (upload, rename,
move, context menu, breadcrumb, drag-drop, nav)
- add settings UI: connection, shared drive picker,
user email mapping
- extract shared AES-GCM crypto from netsuite module
- dual permission: compass RBAC + google workspace ACLs
* docs(files): add Google Drive integration guide
covers architecture decisions, permission model,
setup instructions, and known limitations.
---------
Co-authored-by: Nicholai <nicholaivogelfilms@gmail.com>