from sqlalchemy.orm import Session from app.models.user import AdminNotification from datetime import datetime import logging logger = logging.getLogger(__name__) def create_admin_notification(db: Session, title: str, message: str): """ Registra de forma segura una notificación para el administrador en la DB. Maneja excepciones y realiza rollback en caso de fallo para no romper la transacción principal. """ try: notif = AdminNotification( title=title, message=message, created_at=datetime.utcnow(), read=False ) db.add(notif) db.commit() logger.info(f"[AdminNotif] Notificación registrada: {title} - {message}") except Exception as e: db.rollback() logger.warning(f"[AdminNotif] Error al guardar notificación de admin: {e}")