Loading services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +10 −6 Original line number Original line Diff line number Diff line Loading @@ -88,7 +88,7 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res return res def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, event_subscription_patch): # noqa: E501 def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch """subscriber_id_subscriptions_subscription_id_patch Modification of an existing individual CAPIF Event Subscription. # noqa: E501 Modification of an existing individual CAPIF Event Subscription. # noqa: E501 Loading @@ -103,11 +103,13 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ """ if connexion.request.is_json: if connexion.request.is_json: event_subscription_patch = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 body = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 return 'do some magic!' res = events_ops.patch_event(body, subscriber_id, subscription_id) return res def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, event_subscription): # noqa: E501 def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put """subscriber_id_subscriptions_subscription_id_put Update of an existing individual CAPIF Event Subscription. # noqa: E501 Update of an existing individual CAPIF Event Subscription. # noqa: E501 Loading @@ -122,5 +124,7 @@ def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_ :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ """ if connexion.request.is_json: if connexion.request.is_json: event_subscription = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 body = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 return 'do some magic!' res = events_ops.put_event(body, subscriber_id, subscription_id) return res services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py +70 −1 Original line number Original line Diff line number Diff line Loading @@ -8,11 +8,12 @@ from flask import current_app, Flask, Response import json import json from ..encoder import JSONEncoder from ..encoder import JSONEncoder from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from capif_events.models.event_subscription import EventSubscription # noqa: E501 from .resources import Resource from .resources import Resource from bson import json_util from bson import json_util from .responses import internal_server_error, not_found_error, make_response, bad_request_error from .responses import internal_server_error, not_found_error, make_response, bad_request_error from ..db.db import MongoDatabse from ..db.db import MongoDatabse from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case, clean_empty, dict_to_camel_case from .auth_manager import AuthManager from .auth_manager import AuthManager Loading Loading @@ -119,4 +120,72 @@ class EventSubscriptionsOperations(Resource): current_app.logger.error(exception + "::" + str(e)) current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) return internal_server_error(detail=exception, cause=str(e)) def put_event(self, event_subscription, subscriber_id, subscription_id): try: mycol = self.db.get_col_by_name(self.db.event_collection) current_app.logger.debug("Updating event subscription") result = self.__check_subscriber_id(subscriber_id) if isinstance(result, Response): return result my_query = {'subscriber_id': subscriber_id, 'subscription_id': subscription_id} eventdescription = mycol.find_one(my_query) if eventdescription is None: current_app.logger.error("Event subscription not found") return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") body = event_subscription.to_dict() body["subscriber_id"] = subscriber_id body["subscription_id"] = subscription_id mycol.replace_one(my_query, body) current_app.logger.debug("Event subscription updated from database") res = make_response(object=serialize_clean_camel_case(event_subscription), status=200) return res except Exception as e: exception= "An exception occurred in updating event" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) def patch_event(self, event_subscription, subscriber_id, subscription_id): try: mycol = self.db.get_col_by_name(self.db.event_collection) current_app.logger.debug("Patching event subscription") result = self.__check_subscriber_id(subscriber_id) if isinstance(result, Response): return result my_query = {'subscriber_id': subscriber_id, 'subscription_id': subscription_id} eventdescription = mycol.find_one(my_query) if eventdescription is None: current_app.logger.error("Event subscription not found") return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") body = clean_empty(event_subscription.to_dict()) document = mycol.update_one(my_query, {"$set":body}) document = mycol.find_one(my_query) current_app.logger.debug("Event subscription patched from database") res = make_response(object=EventSubscription.from_dict(dict_to_camel_case(document)), status=200) return res except Exception as e: exception= "An exception occurred in patching event" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) Loading
services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py +10 −6 Original line number Original line Diff line number Diff line Loading @@ -88,7 +88,7 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res return res def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, event_subscription_patch): # noqa: E501 def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch """subscriber_id_subscriptions_subscription_id_patch Modification of an existing individual CAPIF Event Subscription. # noqa: E501 Modification of an existing individual CAPIF Event Subscription. # noqa: E501 Loading @@ -103,11 +103,13 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ """ if connexion.request.is_json: if connexion.request.is_json: event_subscription_patch = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 body = EventSubscriptionPatch.from_dict(connexion.request.get_json()) # noqa: E501 return 'do some magic!' res = events_ops.patch_event(body, subscriber_id, subscription_id) return res def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, event_subscription): # noqa: E501 def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put """subscriber_id_subscriptions_subscription_id_put Update of an existing individual CAPIF Event Subscription. # noqa: E501 Update of an existing individual CAPIF Event Subscription. # noqa: E501 Loading @@ -122,5 +124,7 @@ def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_ :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ """ if connexion.request.is_json: if connexion.request.is_json: event_subscription = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 body = EventSubscription.from_dict(connexion.request.get_json()) # noqa: E501 return 'do some magic!' res = events_ops.put_event(body, subscriber_id, subscription_id) return res
services/TS29222_CAPIF_Events_API/capif_events/core/events_apis.py +70 −1 Original line number Original line Diff line number Diff line Loading @@ -8,11 +8,12 @@ from flask import current_app, Flask, Response import json import json from ..encoder import JSONEncoder from ..encoder import JSONEncoder from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from capif_events.models.event_subscription import EventSubscription # noqa: E501 from .resources import Resource from .resources import Resource from bson import json_util from bson import json_util from .responses import internal_server_error, not_found_error, make_response, bad_request_error from .responses import internal_server_error, not_found_error, make_response, bad_request_error from ..db.db import MongoDatabse from ..db.db import MongoDatabse from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case, clean_empty, dict_to_camel_case from .auth_manager import AuthManager from .auth_manager import AuthManager Loading Loading @@ -119,4 +120,72 @@ class EventSubscriptionsOperations(Resource): current_app.logger.error(exception + "::" + str(e)) current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) return internal_server_error(detail=exception, cause=str(e)) def put_event(self, event_subscription, subscriber_id, subscription_id): try: mycol = self.db.get_col_by_name(self.db.event_collection) current_app.logger.debug("Updating event subscription") result = self.__check_subscriber_id(subscriber_id) if isinstance(result, Response): return result my_query = {'subscriber_id': subscriber_id, 'subscription_id': subscription_id} eventdescription = mycol.find_one(my_query) if eventdescription is None: current_app.logger.error("Event subscription not found") return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") body = event_subscription.to_dict() body["subscriber_id"] = subscriber_id body["subscription_id"] = subscription_id mycol.replace_one(my_query, body) current_app.logger.debug("Event subscription updated from database") res = make_response(object=serialize_clean_camel_case(event_subscription), status=200) return res except Exception as e: exception= "An exception occurred in updating event" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e)) def patch_event(self, event_subscription, subscriber_id, subscription_id): try: mycol = self.db.get_col_by_name(self.db.event_collection) current_app.logger.debug("Patching event subscription") result = self.__check_subscriber_id(subscriber_id) if isinstance(result, Response): return result my_query = {'subscriber_id': subscriber_id, 'subscription_id': subscription_id} eventdescription = mycol.find_one(my_query) if eventdescription is None: current_app.logger.error("Event subscription not found") return not_found_error(detail="Event subscription not exist", cause="Event API subscription id not found") body = clean_empty(event_subscription.to_dict()) document = mycol.update_one(my_query, {"$set":body}) document = mycol.find_one(my_query) current_app.logger.debug("Event subscription patched from database") res = make_response(object=EventSubscription.from_dict(dict_to_camel_case(document)), status=200) return res except Exception as e: exception= "An exception occurred in patching event" current_app.logger.error(exception + "::" + str(e)) return internal_server_error(detail=exception, cause=str(e))