File size: 1,334 Bytes
e7abd9e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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))