Coverage for src/cstlcore/database/dependencies.py: 47%
15 statements
« prev ^ index » next coverage.py v7.9.1, created at 2026-02-19 12:46 +0000
« prev ^ index » next coverage.py v7.9.1, created at 2026-02-19 12:46 +0000
1from typing import Generator
3from fastapi import HTTPException
4from loguru import logger
5from sqlalchemy.exc import SQLAlchemyError
6from sqlmodel import Session
8from cstlcore.database.engine import engine
11def get_session() -> Generator[Session, None, None]:
12 """
13 Dependency that provides a SQLAlchemy session for database operations.
14 """
15 session = Session(engine)
16 try:
17 yield session
18 except SQLAlchemyError as e:
19 session.rollback()
20 logger.error("SQLAlchemy error during session use: %s", e)
21 raise HTTPException(status_code=400, detail=f"Database error: {str(e)}")
22 finally:
23 session.close()