Fix INF-383 refactor to enrich alarmEventRecord with extension field
[pti/o2.git] / o2ims / views / alarm_dto.py
index 54bfe7d..5d0bca5 100644 (file)
@@ -14,7 +14,8 @@
 
 from flask_restx import fields
 
-from o2ims.views.api_ns import api_monitoring_v1
+from o2common.views.flask_restx_fields import Json2Dict
+from o2ims.views.api_ns import api_ims_monitoring as api_monitoring_v1
 
 
 class AlarmDTO:
@@ -26,11 +27,24 @@ class AlarmDTO:
                 required=True,
                 description='Alarm Event Record ID'),
             'resourceTypeId': fields.String,
+            'resourceTypeID': fields.String(attribute='resourceTypeId'),
             'resourceId': fields.String,
+            'resourceID': fields.String(attribute='resourceId'),
             'alarmDefinitionId': fields.String,
+            'alarmDefinitionID': fields.String(attribute='alarmDefinitionId'),
+            'probableCauseId': fields.String,
+            'probableCauseID': fields.String(attribute='probableCauseId'),
             'alarmRaisedTime': fields.String,
+            'alarmChangedTime': fields.String,
+            'alarmAcknowledgeTime': fields.String,
+            'alarmAcknowledged': fields.Boolean,
             'perceivedSeverity': fields.String,
+            'extensions': Json2Dict(attribute='extensions')
         }
+        # mask='{alarmEventRecordId,resourceTypeID,resourceID,' +
+        # 'alarmDefinitionID,probableCauseID,' +
+        # 'alarmRaisedTime,perceivedSeverity,alarmChangedTime,' +
+        # 'alarmAcknowledgeTime,alarmAcknowledged,extensions}'
     )
 
 
@@ -45,10 +59,11 @@ class SubscriptionDTO:
             'callback': fields.String,
             'consumerSubscriptionId': fields.String,
             'filter': fields.String,
-        }
+        },
+        mask='{alarmSubscriptionId,callback}'
     )
 
-    subscription = api_monitoring_v1.model(
+    subscription_create = api_monitoring_v1.model(
         "AlarmSubscriptionCreateDto",
         {
             'callback': fields.String(
@@ -58,12 +73,3 @@ class SubscriptionDTO:
             'filter': fields.String,
         }
     )
-
-    subscription_post_resp = api_monitoring_v1.model(
-        "AlarmSubscriptionCreatedRespDto",
-        {
-            'alarmSubscriptionId': fields.String(
-                required=True,
-                description='Alarm Subscription ID'),
-        }
-    )