Source code for lalandre_core.repositories.base.repository

"""
Base repository abstraction
"""

from abc import ABC, abstractmethod
from types import TracebackType


[docs] class BaseRepository(ABC): """ Abstract base class for all repositories """
[docs] @abstractmethod def close(self): """Close database connection and cleanup resources""" pass
[docs] @abstractmethod def health_check(self) -> bool: """ Verify database connectivity and readiness """ pass
def __enter__(self): """Context manager entry""" return self def __exit__( self, _exc_type: type[BaseException] | None, _exc_val: BaseException | None, _exc_tb: TracebackType | None, ) -> bool: """Context manager exit, to ensure cleanup""" self.close() return False