Recovered state: integrated TrendSurferAgent, restored frontend/backend files, and cleaned up recovery scripts

This commit is contained in:
ajaysi
2026-02-08 13:56:57 +05:30
parent 1db10ccd0f
commit e404a86502
333 changed files with 42223 additions and 10875 deletions

View File

@@ -20,14 +20,8 @@ class APIKeyManagementService:
# Ensure database service is available
if not hasattr(self.api_key_manager, 'use_database'):
self.api_key_manager.use_database = True
try:
from services.onboarding.database_service import OnboardingDatabaseService
self.api_key_manager.db_service = OnboardingDatabaseService()
logger.info("Database service initialized for APIKeyManager")
except Exception as e:
logger.warning(f"Database service not available: {e}")
self.api_key_manager.use_database = False
self.api_key_manager.db_service = None
# Legacy service removed - using direct DB access
self.api_key_manager.db_service = None
# Simple cache for API keys
self._api_keys_cache = None
@@ -77,18 +71,28 @@ class APIKeyManagementService:
"""
try:
# Prefer DB per-user keys when user_id is provided and DB is available
if user_id and getattr(self.api_key_manager, 'use_database', False) and getattr(self.api_key_manager, 'db_service', None):
if user_id and getattr(self.api_key_manager, 'use_database', False):
try:
from services.database import SessionLocal
from models.onboarding import APIKey
db = SessionLocal()
try:
api_keys = self.api_key_manager.db_service.get_api_keys(user_id, db) or {}
logger.info(f"Loaded {len(api_keys)} API keys from database for user {user_id}")
return {
"api_keys": api_keys,
"total_providers": len(api_keys),
"configured_providers": [k for k, v in api_keys.items() if v]
}
# Direct DB query instead of legacy service
api_keys_records = db.query(APIKey).filter(
APIKey.user_id == user_id,
APIKey.is_active == True
).all()
api_keys = {k.provider: k.api_key for k in api_keys_records}
if api_keys:
logger.info(f"Loaded {len(api_keys)} API keys from database for user {user_id}")
return {
"api_keys": api_keys,
"total_providers": len(api_keys),
"configured_providers": [k for k, v in api_keys.items() if v]
}
finally:
db.close()
except Exception as db_err: