Commit a84cb754 authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Setting logic for events sent by publisher according to monitoring status.

parent ee40d3de
Loading
Loading
Loading
Loading
Loading
+12 −13
Original line number Diff line number Diff line
@@ -132,27 +132,26 @@ class PublishServiceOperations(Resource):

            if res.status_code == 201:
                current_app.logger.info("Service published")
                if serviceapidescription.api_status is None or len(serviceapidescription.api_status.aef_ids) > 0:
                if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                        current_app.logger.info(f"Service available")
                    if serviceapidescription.api_status is None or len(serviceapidescription.api_status.aef_ids) > 0:
                        current_app.logger.info(
                            "Service available, at least one AEF is available")
                        RedisEvent("SERVICE_API_AVAILABLE",
                                   service_api_descriptions=[clean_n_camel_case(
                                       serviceapidescription.to_dict())],
                                   api_ids=[str(api_id)]).send_event()
                    else:
                        current_app.logger.info("Service available")
                        RedisEvent("SERVICE_API_AVAILABLE",
                                   api_ids=[str(api_id)]).send_event()
                else:
                    if serviceapidescription.return_supp_feat_dict(serviceapidescription.supported_features)["ApiStatusMonitoring"]:
                        current_app.logger.info(f"Service unavailable")
                        current_app.logger.info(
                            "Service unavailable, all AEFs are unavailable")
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                                   service_api_descriptions=[clean_n_camel_case(
                                       serviceapidescription.to_dict())],
                                   api_ids=[str(api_id)]).send_event()
                else:
                        current_app.logger.info("Service available")
                        RedisEvent("SERVICE_API_UNAVAILABLE",
                    current_app.logger.info(f"Service available")
                    RedisEvent("SERVICE_API_AVAILABLE",
                               service_api_descriptions=[clean_n_camel_case(
                                   serviceapidescription.to_dict())],
                               api_ids=[str(api_id)]).send_event()

            return res