Feature 10339 - Enhanced Alarm Mgmt. (SOL005 FM Interface)
[osm/MON.git] / osm_mon / core / common_db.py
index df8db60..cf52d85 100644 (file)
@@ -157,9 +157,12 @@ class CommonDbClient:
         return self.common_db.get_one("projects", {"_id": project_id})
 
     def create_alarm(self, alarm: Alarm):
+        action_data = {"uuid": alarm.uuid, "action": alarm.action}
+        self.common_db.create("alarms_action", action_data)
         return self.common_db.create("alarms", alarm.to_dict())
 
     def delete_alarm(self, alarm_uuid: str):
+        self.common_db.del_one("alarms_action", {"uuid": alarm_uuid})
         return self.common_db.del_one("alarms", {"uuid": alarm_uuid})
 
     def get_alarms(self) -> List[Alarm]:
@@ -169,6 +172,13 @@ class CommonDbClient:
             alarms.append(Alarm.from_dict(alarm_dict))
         return alarms
 
+    def update_alarm_status(self, alarm_state: str, uuid):
+        modified_count = self.common_db.set_one("alarms", {"uuid": uuid}, {"alarm_status": alarm_state})
+        return modified_count
+
+    def get_alarm_by_uuid(self, uuid: str):
+        return self.common_db.get_one("alarms", {"uuid": uuid})
+
     def get_user(self, username: str):
         return self.common_db.get_one("users", {"username": username})