mirageco's picture
All leaderboard v2 files
fc44f9d
raw
history blame
1.33 kB
from fastapi import Depends, HTTPException
import logging
from app.services.models import ModelService
from app.services.votes import VoteService
from app.utils.logging import LogFormatter
logger = logging.getLogger(__name__)
model_service = ModelService()
vote_service = VoteService()
async def get_model_service() -> ModelService:
"""Dependency to get ModelService instance"""
try:
logger.info(LogFormatter.info("Initializing model service dependency"))
await model_service.initialize()
logger.info(LogFormatter.success("Model service initialized"))
return model_service
except Exception as e:
error_msg = "Failed to initialize model service"
logger.error(LogFormatter.error(error_msg, e))
raise HTTPException(status_code=500, detail=str(e))
async def get_vote_service() -> VoteService:
"""Dependency to get VoteService instance"""
try:
logger.info(LogFormatter.info("Initializing vote service dependency"))
await vote_service.initialize()
logger.info(LogFormatter.success("Vote service initialized"))
return vote_service
except Exception as e:
error_msg = "Failed to initialize vote service"
logger.error(LogFormatter.error(error_msg, e))
raise HTTPException(status_code=500, detail=str(e))