Loading services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, preferred_aef_loc=None, req_api_prov_name=None, api_supported_features=None, ue_ip_addr=None, service_kpis=None, net_slice_info=None, grant_types=None, api_ids=None, res_ops=None, supported_features=None): # noqa: E501 """all_service_apis_get Loading services/TS29222_CAPIF_Events_API/.openapi-generator/FILES +11 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ git_push.sh capif_events/__init__.py capif_events/__main__.py capif_events/controllers/__init__.py capif_events/controllers/default_controller.py capif_events/controllers/capifs_events_subscriptions_collection_controller.py capif_events/controllers/individual_capifs_events_subscription_document_controller.py capif_events/controllers/security_controller.py capif_events/encoder.py capif_events/models/__init__.py Loading @@ -16,6 +17,8 @@ capif_events/models/access_control_policy_list.py capif_events/models/access_control_policy_list_ext.py capif_events/models/aef_location.py capif_events/models/aef_profile.py capif_events/models/api_info.py capif_events/models/api_invoker_count.py capif_events/models/api_invoker_policy.py capif_events/models/api_status.py capif_events/models/base_model.py Loading @@ -27,6 +30,7 @@ capif_events/models/civic_address.py capif_events/models/communication_type.py capif_events/models/custom_operation.py capif_events/models/data_format.py capif_events/models/discovery_count.py capif_events/models/ellipsoid_arc.py capif_events/models/event_notification.py capif_events/models/event_subscription.py Loading @@ -49,9 +53,11 @@ capif_events/models/local_origin.py capif_events/models/log.py capif_events/models/muting_exception_instructions.py capif_events/models/muting_notifications_settings.py capif_events/models/net_slice_id.py capif_events/models/notification_flag.py capif_events/models/notification_method.py capif_events/models/o_auth_grant_type.py capif_events/models/onboarding_criteria.py capif_events/models/operation.py capif_events/models/partitioning_criteria.py capif_events/models/point.py Loading @@ -63,6 +69,7 @@ capif_events/models/polygon.py capif_events/models/problem_details.py capif_events/models/protocol.py capif_events/models/published_api_path.py capif_events/models/related_criteria.py capif_events/models/relative_cartesian_location.py capif_events/models/reporting_information.py capif_events/models/resource.py Loading @@ -71,6 +78,7 @@ capif_events/models/security_method.py capif_events/models/service_api_description.py capif_events/models/service_kpis.py capif_events/models/shareable_information.py capif_events/models/snssai.py capif_events/models/subscription_action.py capif_events/models/supported_gad_shapes.py capif_events/models/time_range_list.py Loading @@ -81,7 +89,8 @@ capif_events/models/version.py capif_events/models/websock_notif_config.py capif_events/openapi/openapi.yaml capif_events/test/__init__.py capif_events/test/test_default_controller.py capif_events/test/test_capifs_events_subscriptions_collection_controller.py capif_events/test/test_individual_capifs_events_subscription_document_controller.py capif_events/typing_utils.py capif_events/util.py requirements.txt Loading services/TS29222_CAPIF_Events_API/capif_events/controllers/capifs_events_subscriptions_collection_controller.py 0 → 100644 +69 −0 Original line number Diff line number Diff line import connexion from typing import Dict from typing import Tuple from typing import Union from capif_events.models.problem_details import ProblemDetails # noqa: E501 from capif_events import util from functools import wraps from capif_events.models.event_subscription import EventSubscription # noqa: E501 from cryptography import x509 from cryptography.hazmat.backends import default_backend from flask import current_app, request from ..core.events_apis import EventSubscriptionsOperations from ..core.validate_user import ControlAccess events_ops = EventSubscriptionsOperations() valid_user = ControlAccess() def cert_validation(): def _cert_validation(f): @wraps(f) def __cert_validation(*args, **kwargs): args = request.view_args cert_tmp = request.headers['X-Ssl-Client-Cert'] cert_raw = cert_tmp.replace('\t', '') cert = x509.load_pem_x509_certificate(str.encode(cert_raw), default_backend()) cn = cert.subject.get_attributes_for_oid(x509.OID_COMMON_NAME)[0].value.strip() if cn != "superadmin": cert_signature = cert.signature.hex() if request.method != 'POST': result = valid_user.validate_user_cert(args["subscriptionId"], args["subscriberId"], cert_signature) else: result = valid_user.validate_user_cert(None, args["subscriberId"], cert_signature) if result is not None: return result result = f(**kwargs) return result return __cert_validation return _cert_validation @cert_validation() def create_event_subsc(subscriber_id, body): # noqa: E501 """Create a new CAPIFs Event Subscription. # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str :param event_subscription: :type event_subscription: dict | bytes :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ current_app.logger.info("Creating event subscription") if request.is_json: body = EventSubscription.from_dict(request.get_json()) # noqa: E501 res = events_ops.create_event(subscriber_id, body) return res services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py→services/TS29222_CAPIF_Events_API/capif_events/controllers/individual_capifs_events_subscription_document_controller.py +19 −31 Original line number Diff line number Diff line import connexion from typing import Dict from typing import Tuple from typing import Union from capif_events.models.event_subscription import EventSubscription # noqa: E501 from capif_events.models.event_subscription_patch import EventSubscriptionPatch # noqa: E501 from capif_events.models.problem_details import ProblemDetails # noqa: E501 from capif_events import util from functools import wraps from capif_events.models.event_subscription import EventSubscription # noqa: E501 Loading Loading @@ -40,33 +50,11 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def subscriber_id_subscriptions_post(subscriber_id, body): # noqa: E501 """subscriber_id_subscriptions_post Creates a new individual CAPIF Event Subscription. # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str :param event_subscription: :type event_subscription: dict | bytes :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ current_app.logger.info("Creating event subscription") if request.is_json: body = EventSubscription.from_dict(request.get_json()) # noqa: E501 res = events_ops.create_event(subscriber_id, body) return res @cert_validation() def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscription_id): # noqa: E501 """subscriber_id_subscriptions_subscription_id_delete def delete_ind_event_subsc(subscriber_id, subscription_id): # noqa: E501 """Delete an existing Individual CAPIF Events Subscription resource. Deletes an individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading @@ -82,10 +70,10 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res @cert_validation() def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch def modify_ind_event_subsc(subscriber_id, subscription_id, body): # noqa: E501 """Modify an existing Individual CAPIF Events Subscription resource. Modification of an existing individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading @@ -103,10 +91,10 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio return res @cert_validation() def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put def update_ind_event_subsc(subscriber_id, subscription_id, body): # noqa: E501 """Update an existing Individual CAPIF Events Subscription resource. Update of an existing individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller.py +1 −1 Original line number Diff line number Diff line from typing import List Loading
services/TS29222_CAPIF_Discover_Service_API/service_apis/controllers/default_controller.py +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, preferred_aef_loc=None, req_api_prov_name=None, api_supported_features=None, ue_ip_addr=None, service_kpis=None, net_slice_info=None, grant_types=None, api_ids=None, res_ops=None, supported_features=None): # noqa: E501 """all_service_apis_get Loading
services/TS29222_CAPIF_Events_API/.openapi-generator/FILES +11 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ git_push.sh capif_events/__init__.py capif_events/__main__.py capif_events/controllers/__init__.py capif_events/controllers/default_controller.py capif_events/controllers/capifs_events_subscriptions_collection_controller.py capif_events/controllers/individual_capifs_events_subscription_document_controller.py capif_events/controllers/security_controller.py capif_events/encoder.py capif_events/models/__init__.py Loading @@ -16,6 +17,8 @@ capif_events/models/access_control_policy_list.py capif_events/models/access_control_policy_list_ext.py capif_events/models/aef_location.py capif_events/models/aef_profile.py capif_events/models/api_info.py capif_events/models/api_invoker_count.py capif_events/models/api_invoker_policy.py capif_events/models/api_status.py capif_events/models/base_model.py Loading @@ -27,6 +30,7 @@ capif_events/models/civic_address.py capif_events/models/communication_type.py capif_events/models/custom_operation.py capif_events/models/data_format.py capif_events/models/discovery_count.py capif_events/models/ellipsoid_arc.py capif_events/models/event_notification.py capif_events/models/event_subscription.py Loading @@ -49,9 +53,11 @@ capif_events/models/local_origin.py capif_events/models/log.py capif_events/models/muting_exception_instructions.py capif_events/models/muting_notifications_settings.py capif_events/models/net_slice_id.py capif_events/models/notification_flag.py capif_events/models/notification_method.py capif_events/models/o_auth_grant_type.py capif_events/models/onboarding_criteria.py capif_events/models/operation.py capif_events/models/partitioning_criteria.py capif_events/models/point.py Loading @@ -63,6 +69,7 @@ capif_events/models/polygon.py capif_events/models/problem_details.py capif_events/models/protocol.py capif_events/models/published_api_path.py capif_events/models/related_criteria.py capif_events/models/relative_cartesian_location.py capif_events/models/reporting_information.py capif_events/models/resource.py Loading @@ -71,6 +78,7 @@ capif_events/models/security_method.py capif_events/models/service_api_description.py capif_events/models/service_kpis.py capif_events/models/shareable_information.py capif_events/models/snssai.py capif_events/models/subscription_action.py capif_events/models/supported_gad_shapes.py capif_events/models/time_range_list.py Loading @@ -81,7 +89,8 @@ capif_events/models/version.py capif_events/models/websock_notif_config.py capif_events/openapi/openapi.yaml capif_events/test/__init__.py capif_events/test/test_default_controller.py capif_events/test/test_capifs_events_subscriptions_collection_controller.py capif_events/test/test_individual_capifs_events_subscription_document_controller.py capif_events/typing_utils.py capif_events/util.py requirements.txt Loading
services/TS29222_CAPIF_Events_API/capif_events/controllers/capifs_events_subscriptions_collection_controller.py 0 → 100644 +69 −0 Original line number Diff line number Diff line import connexion from typing import Dict from typing import Tuple from typing import Union from capif_events.models.problem_details import ProblemDetails # noqa: E501 from capif_events import util from functools import wraps from capif_events.models.event_subscription import EventSubscription # noqa: E501 from cryptography import x509 from cryptography.hazmat.backends import default_backend from flask import current_app, request from ..core.events_apis import EventSubscriptionsOperations from ..core.validate_user import ControlAccess events_ops = EventSubscriptionsOperations() valid_user = ControlAccess() def cert_validation(): def _cert_validation(f): @wraps(f) def __cert_validation(*args, **kwargs): args = request.view_args cert_tmp = request.headers['X-Ssl-Client-Cert'] cert_raw = cert_tmp.replace('\t', '') cert = x509.load_pem_x509_certificate(str.encode(cert_raw), default_backend()) cn = cert.subject.get_attributes_for_oid(x509.OID_COMMON_NAME)[0].value.strip() if cn != "superadmin": cert_signature = cert.signature.hex() if request.method != 'POST': result = valid_user.validate_user_cert(args["subscriptionId"], args["subscriberId"], cert_signature) else: result = valid_user.validate_user_cert(None, args["subscriberId"], cert_signature) if result is not None: return result result = f(**kwargs) return result return __cert_validation return _cert_validation @cert_validation() def create_event_subsc(subscriber_id, body): # noqa: E501 """Create a new CAPIFs Event Subscription. # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str :param event_subscription: :type event_subscription: dict | bytes :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ current_app.logger.info("Creating event subscription") if request.is_json: body = EventSubscription.from_dict(request.get_json()) # noqa: E501 res = events_ops.create_event(subscriber_id, body) return res
services/TS29222_CAPIF_Events_API/capif_events/controllers/default_controller.py→services/TS29222_CAPIF_Events_API/capif_events/controllers/individual_capifs_events_subscription_document_controller.py +19 −31 Original line number Diff line number Diff line import connexion from typing import Dict from typing import Tuple from typing import Union from capif_events.models.event_subscription import EventSubscription # noqa: E501 from capif_events.models.event_subscription_patch import EventSubscriptionPatch # noqa: E501 from capif_events.models.problem_details import ProblemDetails # noqa: E501 from capif_events import util from functools import wraps from capif_events.models.event_subscription import EventSubscription # noqa: E501 Loading Loading @@ -40,33 +50,11 @@ def cert_validation(): return __cert_validation return _cert_validation @cert_validation() def subscriber_id_subscriptions_post(subscriber_id, body): # noqa: E501 """subscriber_id_subscriptions_post Creates a new individual CAPIF Event Subscription. # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str :param event_subscription: :type event_subscription: dict | bytes :rtype: Union[EventSubscription, Tuple[EventSubscription, int], Tuple[EventSubscription, int, Dict[str, str]] """ current_app.logger.info("Creating event subscription") if request.is_json: body = EventSubscription.from_dict(request.get_json()) # noqa: E501 res = events_ops.create_event(subscriber_id, body) return res @cert_validation() def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscription_id): # noqa: E501 """subscriber_id_subscriptions_subscription_id_delete def delete_ind_event_subsc(subscriber_id, subscription_id): # noqa: E501 """Delete an existing Individual CAPIF Events Subscription resource. Deletes an individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading @@ -82,10 +70,10 @@ def subscriber_id_subscriptions_subscription_id_delete(subscriber_id, subscripti return res @cert_validation() def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_patch def modify_ind_event_subsc(subscriber_id, subscription_id, body): # noqa: E501 """Modify an existing Individual CAPIF Events Subscription resource. Modification of an existing individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading @@ -103,10 +91,10 @@ def subscriber_id_subscriptions_subscription_id_patch(subscriber_id, subscriptio return res @cert_validation() def subscriber_id_subscriptions_subscription_id_put(subscriber_id, subscription_id, body): # noqa: E501 """subscriber_id_subscriptions_subscription_id_put def update_ind_event_subsc(subscriber_id, subscription_id, body): # noqa: E501 """Update an existing Individual CAPIF Events Subscription resource. Update of an existing individual CAPIF Event Subscription. # noqa: E501 # noqa: E501 :param subscriber_id: Identifier of the Subscriber :type subscriber_id: str Loading
services/TS29222_CAPIF_Events_API/capif_events/controllers/security_controller.py +1 −1 Original line number Diff line number Diff line from typing import List