Spaces:
Sleeping
Sleeping
| # app/dependencies.py | |
| # FastAPI dependency injection | |
| from app.models.model_registry import model_registry | |
| from app.services.redis_service import redis_service | |
| from app.services.mongo_service import mongo_service | |
| async def require_models(): | |
| """Dependency: ensure models are loaded.""" | |
| status = model_registry.get_status() | |
| if not status.get("text_model") and not status.get("image_model"): | |
| from fastapi import HTTPException | |
| raise HTTPException( | |
| status_code=503, | |
| detail="AI models not loaded. Server is starting up.", | |
| ) | |
| return model_registry | |
| async def require_mongo(): | |
| """Dependency: ensure MongoDB is connected.""" | |
| if not mongo_service.is_connected: | |
| from fastapi import HTTPException | |
| raise HTTPException( | |
| status_code=503, | |
| detail="MongoDB not available.", | |
| ) | |
| return mongo_service | |