Loading .gitignore +2 −1 Original line number Diff line number Diff line Loading @@ -37,4 +37,5 @@ results helm/capif/*.lock helm/capif/charts/tempo* *.bakresults/ *.bak helm/capif/charts/ocf-helper/templates/ocf-helper-configmap.yaml +4 −0 Original line number Diff line number Diff line Loading @@ -36,5 +36,9 @@ data: "configuration_api": { "path": "/configuration", "openapi_file": "configuration/openapi/openapi.yaml" }, "visibility_control": { "path": "/visibility-control", "openapi_file": "visibility_control/openapi/openapi.yaml" } } No newline at end of file services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES +12 −4 Original line number Diff line number Diff line Loading @@ -8,13 +8,14 @@ git_push.sh api_invoker_management/__init__.py api_invoker_management/__main__.py api_invoker_management/controllers/__init__.py api_invoker_management/controllers/default_controller.py api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py api_invoker_management/controllers/individual_on_boarded_api_invoker_document_controller.py api_invoker_management/controllers/on_boarded_api_invokers_collection_controller.py api_invoker_management/controllers/security_controller.py api_invoker_management/encoder.py api_invoker_management/models/__init__.py api_invoker_management/models/aef_location.py api_invoker_management/models/aef_profile.py api_invoker_management/models/api_info.py api_invoker_management/models/api_invoker_enrolment_details.py api_invoker_management/models/api_invoker_enrolment_details_patch.py api_invoker_management/models/api_list.py Loading @@ -25,6 +26,8 @@ api_invoker_management/models/communication_type.py api_invoker_management/models/custom_operation.py api_invoker_management/models/data_format.py api_invoker_management/models/ellipsoid_arc.py api_invoker_management/models/enrol_fail_cause.py api_invoker_management/models/enrol_fail_reason.py api_invoker_management/models/gad_shape.py api_invoker_management/models/geographic_area.py api_invoker_management/models/geographical_coordinates.py Loading @@ -37,7 +40,10 @@ api_invoker_management/models/ipv6_address_range.py api_invoker_management/models/local2d_point_uncertainty_ellipse.py api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py api_invoker_management/models/local_origin.py api_invoker_management/models/net_slice_id.py api_invoker_management/models/o_auth_grant_type.py api_invoker_management/models/onboarding_criteria.py api_invoker_management/models/onboarding_fail_reason.py api_invoker_management/models/onboarding_information.py api_invoker_management/models/onboarding_notification.py api_invoker_management/models/operation.py Loading @@ -50,12 +56,14 @@ api_invoker_management/models/polygon.py api_invoker_management/models/problem_details.py api_invoker_management/models/protocol.py api_invoker_management/models/published_api_path.py api_invoker_management/models/related_criteria.py api_invoker_management/models/relative_cartesian_location.py api_invoker_management/models/resource.py api_invoker_management/models/security_method.py api_invoker_management/models/service_api_description.py api_invoker_management/models/service_kpis.py api_invoker_management/models/shareable_information.py api_invoker_management/models/snssai.py api_invoker_management/models/supported_gad_shapes.py api_invoker_management/models/uncertainty_ellipse.py api_invoker_management/models/uncertainty_ellipsoid.py Loading @@ -63,8 +71,8 @@ api_invoker_management/models/version.py api_invoker_management/models/websock_notif_config.py api_invoker_management/openapi/openapi.yaml api_invoker_management/test/__init__.py api_invoker_management/test/test_default_controller.py api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py api_invoker_management/test/test_individual_on_boarded_api_invoker_document_controller.py api_invoker_management/test/test_on_boarded_api_invokers_collection_controller.py api_invoker_management/typing_utils.py api_invoker_management/util.py requirements.txt Loading services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/app.py +4 −2 Original line number Diff line number Diff line Loading @@ -14,13 +14,15 @@ from flask_executor import Executor from flask_jwt_extended import JWTManager from fluent import sender from opentelemetry import trace from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import \ OTLPSpanExporter from opentelemetry.instrumentation.flask import FlaskInstrumentor from opentelemetry.instrumentation.redis import RedisInstrumentor from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator from opentelemetry.trace.propagation.tracecontext import \ TraceContextTextMapPropagator NAME = "Invoker-Service" Loading services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/default_controller.py→services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_on_boarded_api_invoker_document_controller.py +24 −23 Original line number Diff line number Diff line from functools import wraps from api_invoker_management.models.api_invoker_enrolment_details_patch import \ APIInvokerEnrolmentDetailsPatch # noqa: E501 from cryptography import x509 from cryptography.hazmat.backends import default_backend from flask import current_app, request from flask_jwt_extended import get_jwt_identity, jwt_required from ..core.apiinvokerenrolmentdetails import InvokerManagementOperations from ..core.validate_user import ControlAccess from ..models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 from ..models.api_invoker_enrolment_details import \ APIInvokerEnrolmentDetails # noqa: E501 invoker_operations = InvokerManagementOperations() valid_user = ControlAccess() Loading Loading @@ -38,12 +40,12 @@ def cert_validation(): return _cert_validation @cert_validation() def onboarded_invokers_onboarding_id_delete(onboarding_id): # noqa: E501 """onboarded_invokers_onboarding_id_delete def delete_ind_onboarded_api_invoker(onboarding_id): # noqa: E501 """Delete an existing Individual On-boarded API Invoker resource. Deletes an individual API Invoker. # noqa: E501 Deletes an existing Individual On-boarded API Invoker. # noqa: E501 :param onboarding_id: String identifying an individual on-boarded API invoker resource :param onboarding_id: :type onboarding_id: str :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] Loading @@ -54,44 +56,43 @@ def onboarded_invokers_onboarding_id_delete(onboarding_id): # noqa: E501 return res @cert_validation() def onboarded_invokers_onboarding_id_put(onboarding_id, body): # noqa: E501 """onboarded_invokers_onboarding_id_put def modify_ind_api_invoke_enrolment(onboarding_id, body): # noqa: E501 """modify_ind_api_invoke_enrolment Updates an individual API invoker details. # noqa: E501 # noqa: E501 :param onboarding_id: String identifying an individual on-boarded API invoker resource :param onboarding_id: :type onboarding_id: str :param api_invoker_enrolment_details: representation of the API invoker details to be updated in CAPIF core function :type api_invoker_enrolment_details: dict | bytes :param api_invoker_enrolment_details_patch: :type api_invoker_enrolment_details_patch: dict | bytes :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] """ current_app.logger.info("Updating invoker") if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 body = APIInvokerEnrolmentDetailsPatch.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) res = invoker_operations.patch_apiinvokerenrolmentdetail(onboarding_id, body) return res @jwt_required() def onboarded_invokers_post(body): # noqa: E501 """onboarded_invokers_post @cert_validation() def update_ind_onboarded_api_invoker(onboarding_id, body): # noqa: E501 """Update an existing Individual On-boarded API Invoker resource. Creates a new individual API Invoker profile. # noqa: E501 # noqa: E501 :param onboarding_id: :type onboarding_id: str :param api_invoker_enrolment_details: :type api_invoker_enrolment_details: dict | bytes :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] """ identity = get_jwt_identity() username, uuid = identity.split() current_app.logger.info("Creating Invoker") current_app.logger.info("Updating invoker") if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.add_apiinvokerenrolmentdetail(body, username, uuid) res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) return res Loading
.gitignore +2 −1 Original line number Diff line number Diff line Loading @@ -37,4 +37,5 @@ results helm/capif/*.lock helm/capif/charts/tempo* *.bakresults/ *.bak
helm/capif/charts/ocf-helper/templates/ocf-helper-configmap.yaml +4 −0 Original line number Diff line number Diff line Loading @@ -36,5 +36,9 @@ data: "configuration_api": { "path": "/configuration", "openapi_file": "configuration/openapi/openapi.yaml" }, "visibility_control": { "path": "/visibility-control", "openapi_file": "visibility_control/openapi/openapi.yaml" } } No newline at end of file
services/TS29222_CAPIF_API_Invoker_Management_API/.openapi-generator/FILES +12 −4 Original line number Diff line number Diff line Loading @@ -8,13 +8,14 @@ git_push.sh api_invoker_management/__init__.py api_invoker_management/__main__.py api_invoker_management/controllers/__init__.py api_invoker_management/controllers/default_controller.py api_invoker_management/controllers/individual_api_invoker_enrolment_details_controller.py api_invoker_management/controllers/individual_on_boarded_api_invoker_document_controller.py api_invoker_management/controllers/on_boarded_api_invokers_collection_controller.py api_invoker_management/controllers/security_controller.py api_invoker_management/encoder.py api_invoker_management/models/__init__.py api_invoker_management/models/aef_location.py api_invoker_management/models/aef_profile.py api_invoker_management/models/api_info.py api_invoker_management/models/api_invoker_enrolment_details.py api_invoker_management/models/api_invoker_enrolment_details_patch.py api_invoker_management/models/api_list.py Loading @@ -25,6 +26,8 @@ api_invoker_management/models/communication_type.py api_invoker_management/models/custom_operation.py api_invoker_management/models/data_format.py api_invoker_management/models/ellipsoid_arc.py api_invoker_management/models/enrol_fail_cause.py api_invoker_management/models/enrol_fail_reason.py api_invoker_management/models/gad_shape.py api_invoker_management/models/geographic_area.py api_invoker_management/models/geographical_coordinates.py Loading @@ -37,7 +40,10 @@ api_invoker_management/models/ipv6_address_range.py api_invoker_management/models/local2d_point_uncertainty_ellipse.py api_invoker_management/models/local3d_point_uncertainty_ellipsoid.py api_invoker_management/models/local_origin.py api_invoker_management/models/net_slice_id.py api_invoker_management/models/o_auth_grant_type.py api_invoker_management/models/onboarding_criteria.py api_invoker_management/models/onboarding_fail_reason.py api_invoker_management/models/onboarding_information.py api_invoker_management/models/onboarding_notification.py api_invoker_management/models/operation.py Loading @@ -50,12 +56,14 @@ api_invoker_management/models/polygon.py api_invoker_management/models/problem_details.py api_invoker_management/models/protocol.py api_invoker_management/models/published_api_path.py api_invoker_management/models/related_criteria.py api_invoker_management/models/relative_cartesian_location.py api_invoker_management/models/resource.py api_invoker_management/models/security_method.py api_invoker_management/models/service_api_description.py api_invoker_management/models/service_kpis.py api_invoker_management/models/shareable_information.py api_invoker_management/models/snssai.py api_invoker_management/models/supported_gad_shapes.py api_invoker_management/models/uncertainty_ellipse.py api_invoker_management/models/uncertainty_ellipsoid.py Loading @@ -63,8 +71,8 @@ api_invoker_management/models/version.py api_invoker_management/models/websock_notif_config.py api_invoker_management/openapi/openapi.yaml api_invoker_management/test/__init__.py api_invoker_management/test/test_default_controller.py api_invoker_management/test/test_individual_api_invoker_enrolment_details_controller.py api_invoker_management/test/test_individual_on_boarded_api_invoker_document_controller.py api_invoker_management/test/test_on_boarded_api_invokers_collection_controller.py api_invoker_management/typing_utils.py api_invoker_management/util.py requirements.txt Loading
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/app.py +4 −2 Original line number Diff line number Diff line Loading @@ -14,13 +14,15 @@ from flask_executor import Executor from flask_jwt_extended import JWTManager from fluent import sender from opentelemetry import trace from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import \ OTLPSpanExporter from opentelemetry.instrumentation.flask import FlaskInstrumentor from opentelemetry.instrumentation.redis import RedisInstrumentor from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor from opentelemetry.trace.propagation.tracecontext import TraceContextTextMapPropagator from opentelemetry.trace.propagation.tracecontext import \ TraceContextTextMapPropagator NAME = "Invoker-Service" Loading
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/default_controller.py→services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/individual_on_boarded_api_invoker_document_controller.py +24 −23 Original line number Diff line number Diff line from functools import wraps from api_invoker_management.models.api_invoker_enrolment_details_patch import \ APIInvokerEnrolmentDetailsPatch # noqa: E501 from cryptography import x509 from cryptography.hazmat.backends import default_backend from flask import current_app, request from flask_jwt_extended import get_jwt_identity, jwt_required from ..core.apiinvokerenrolmentdetails import InvokerManagementOperations from ..core.validate_user import ControlAccess from ..models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails # noqa: E501 from ..models.api_invoker_enrolment_details import \ APIInvokerEnrolmentDetails # noqa: E501 invoker_operations = InvokerManagementOperations() valid_user = ControlAccess() Loading Loading @@ -38,12 +40,12 @@ def cert_validation(): return _cert_validation @cert_validation() def onboarded_invokers_onboarding_id_delete(onboarding_id): # noqa: E501 """onboarded_invokers_onboarding_id_delete def delete_ind_onboarded_api_invoker(onboarding_id): # noqa: E501 """Delete an existing Individual On-boarded API Invoker resource. Deletes an individual API Invoker. # noqa: E501 Deletes an existing Individual On-boarded API Invoker. # noqa: E501 :param onboarding_id: String identifying an individual on-boarded API invoker resource :param onboarding_id: :type onboarding_id: str :rtype: Union[None, Tuple[None, int], Tuple[None, int, Dict[str, str]] Loading @@ -54,44 +56,43 @@ def onboarded_invokers_onboarding_id_delete(onboarding_id): # noqa: E501 return res @cert_validation() def onboarded_invokers_onboarding_id_put(onboarding_id, body): # noqa: E501 """onboarded_invokers_onboarding_id_put def modify_ind_api_invoke_enrolment(onboarding_id, body): # noqa: E501 """modify_ind_api_invoke_enrolment Updates an individual API invoker details. # noqa: E501 # noqa: E501 :param onboarding_id: String identifying an individual on-boarded API invoker resource :param onboarding_id: :type onboarding_id: str :param api_invoker_enrolment_details: representation of the API invoker details to be updated in CAPIF core function :type api_invoker_enrolment_details: dict | bytes :param api_invoker_enrolment_details_patch: :type api_invoker_enrolment_details_patch: dict | bytes :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] """ current_app.logger.info("Updating invoker") if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 body = APIInvokerEnrolmentDetailsPatch.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) res = invoker_operations.patch_apiinvokerenrolmentdetail(onboarding_id, body) return res @jwt_required() def onboarded_invokers_post(body): # noqa: E501 """onboarded_invokers_post @cert_validation() def update_ind_onboarded_api_invoker(onboarding_id, body): # noqa: E501 """Update an existing Individual On-boarded API Invoker resource. Creates a new individual API Invoker profile. # noqa: E501 # noqa: E501 :param onboarding_id: :type onboarding_id: str :param api_invoker_enrolment_details: :type api_invoker_enrolment_details: dict | bytes :rtype: Union[APIInvokerEnrolmentDetails, Tuple[APIInvokerEnrolmentDetails, int], Tuple[APIInvokerEnrolmentDetails, int, Dict[str, str]] """ identity = get_jwt_identity() username, uuid = identity.split() current_app.logger.info("Creating Invoker") current_app.logger.info("Updating invoker") if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.add_apiinvokerenrolmentdetail(body, username, uuid) res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) return res