from sientia_do.notifications.handlers import NotificationHandler from sientia_do.observability.logger import Logger from sientia_do.observability.metrics_controller import MetricsController from sientia_do.observability.sientia_monitoring import SientiaMonitoring from sientia_do.repository.minio_repository import MinioRepository class MinioManager(SientiaMonitoring): minio_repository: MinioRepository | None = None def __init__( self, minio_repository: MinioRepository | None = None, logger: Logger | None = None, notification_handler: NotificationHandler | None = None, metrics_controller: MetricsController | None = None, ): if self.minio_repository is None: self.minio_repository = minio_repository SientiaMonitoring.__init__(self, logger, notification_handler, metrics_controller) def close(self) -> None: """ Close the MinioManager and clean up resources. """ if self.minio_repository is not None: try: self.minio_repository.close() finally: self.minio_repository = None SientiaMonitoring.shutdown(self)