Skip to content

Conversation

@jhodapp
Copy link
Member

@jhodapp jhodapp commented Dec 20, 2025

Description

Add external API gateway clients for Recall.ai, AssemblyAI, and Google OAuth with configurable base URLs. Create integration controller endpoints for API key verification, OAuth flow handling, and coaching relationship updates.

GitHub Issue: Relates to #146

Changes

  • Add RecallAiClient gateway for meeting bot creation and management
  • Add AssemblyAiClient gateway for transcription requests
  • Add GoogleOAuthClient gateway for OAuth flow and token management
  • Add GoogleMeetClient gateway for Google Meet space creation
  • Add configurable external API base URLs via environment variables in config.rs
  • Add integration_controller with endpoints for verifying Recall.ai and AssemblyAI API keys
  • Add oauth_controller with Google OAuth authorize and callback endpoints
  • Add coaching_relationship_controller for updating meeting URL and AI privacy level
  • Update routing to include new OAuth and integration endpoints
  • Add new params modules for integration and coaching relationship updates

Testing Strategy

  • Run cargo check and cargo clippy to verify compilation
  • Run cargo test to ensure existing tests pass
  • Manual testing of OAuth flow requires Google OAuth credentials configured
  • API key verification endpoints can be tested with valid Recall.ai/AssemblyAI keys

Concerns

  • OAuth callback currently redirects to /settings/integrations?google=connected - frontend settings page not yet implemented
  • External API clients need proper error handling in production (retries, rate limiting)
  • Encryption for API keys will be added in a future phase when user integration storage is complete

Add database schema, entities, and CRUD operations for the AI meeting
recording and transcription integration:

Database Migrations:
- Add user_integrations table for encrypted API credentials
- Add ai_privacy_level enum and meeting_url to coaching_relationships
- Add meeting_recordings, transcriptions, transcript_segments tables
- Add ai_suggested_items table for AI-detected actions/agreements

Entity Definitions:
- user_integrations (Google OAuth, Recall.ai, AssemblyAI credentials)
- meeting_recordings (Recall.ai bot tracking)
- transcriptions (AssemblyAI transcript data)
- transcript_segments (speaker-diarized utterances)
- ai_suggested_items (pending AI suggestions)
- Enums: ai_privacy_level, meeting_recording_status, transcription_status,
  sentiment, ai_suggestion_type, ai_suggestion_status

Entity API:
- CRUD operations for user_integration, meeting_recording, transcription,
  and ai_suggested_item modules

Other:
- AES-256-GCM encryption utilities for API key storage
- Config additions for external service credentials
- Update coaching_relationships with meeting_url and ai_privacy_level

Relates to: refactor-group/refactor-platform-fe#146
…se 3)

Add gateway clients for Recall.ai, AssemblyAI, and Google OAuth with
configurable base URLs. Create integration controller endpoints for
API key verification and OAuth flow handling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants