#!/usr/bin/env python3 """ SmartEye SENTINEL - Handler d'Acquittement ============================================ Appelé par alert_ack.php pour mettre à jour le statut d'une alerte. Usage : python3 alert_ack_handler.py [detail] Auteur : Unigest Solutions / SmartEye V30 """ import sys import json sys.path.insert(0, '/var/www/lucas') from alert_manager import mettre_a_jour_statut, get_alerte, AlertStatus def main(): if len(sys.argv) < 3: print(json.dumps({"success": False, "error": "Usage: alert_ack_handler.py [detail]"})) sys.exit(1) alert_id = sys.argv[1] status = sys.argv[2].upper() detail = sys.argv[3] if len(sys.argv) > 3 else None # Vérifier que l'alerte existe alerte = get_alerte(alert_id) if not alerte: print(json.dumps({ "success": False, "error": f"Alerte {alert_id} non trouvée (peut-être déjà résolue ou expirée)" })) sys.exit(0) # Mettre à jour result = mettre_a_jour_statut(alert_id, status, detail) if result: print(json.dumps({ "success": True, "message": f"Alerte {alert_id[:8]}... mise à jour : {status}", "alert_id": alert_id, "new_status": status, "previous_status": alerte.get("status", "?") })) else: print(json.dumps({ "success": False, "error": f"Impossible de passer au statut {status} (statut actuel: {alerte.get('status', '?')})" })) if __name__ == "__main__": main()