Loading services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/app.py +18 −12 Original line number Original line Diff line number Diff line Loading @@ -2,10 +2,10 @@ import connexion import connexion import logging import logging import api_invoker_management.encoder import encoder from flask_jwt_extended import JWTManager, jwt_required, create_access_token from flask_jwt_extended import JWTManager, jwt_required, create_access_token from .config import Config from config import Config from .core.consumer_messager import Subscriber from core.consumer_messager import Subscriber from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler import os import os from fluent import sender from fluent import sender Loading Loading @@ -116,12 +116,11 @@ def verbose_formatter(): with open("/usr/src/app/api_invoker_management/pubkey.pem", "rb") as pub_file: with open("/usr/src/app/api_invoker_management/pubkey.pem", "rb") as pub_file: pub_data = pub_file.read() pub_data = pub_file.read() # app = connexion.App(__name__, specification_dir='./openapi/') app = connexion.App(__name__, specification_dir='openapi/') app = connexion.App(__name__) app.app.json_encoder = encoder.CustomJSONEncoder app.app.json_encoder = api_invoker_management.encoder.JSONEncoder app.add_api('openapi.yaml', # app.add_api('openapi.yaml', arguments={'title': 'CAPIF_API_Invoker_Management_API'}, # arguments={'title': 'CAPIF_API_Invoker_Management_API'}, pythonic_params=True) # pythonic_params=True) app.app.config['JWT_ALGORITHM'] = 'RS256' app.app.config['JWT_ALGORITHM'] = 'RS256' app.app.config['JWT_PUBLIC_KEY'] = pub_data app.app.config['JWT_PUBLIC_KEY'] = pub_data Loading @@ -139,8 +138,15 @@ if monitoring_value == "true": executor = Executor(app.app) executor = Executor(app.app) subscriber = Subscriber() subscriber = Subscriber() first = True # @app.app.before_first_request @app.app.before_request def create_listener_message(): def create_listener_message(): with app.app.app_context(): global first if first: executor.submit(subscriber.listen) executor.submit(subscriber.listen) first = False # @app.app.before_first_request # def create_listener_message(): # executor.submit(subscriber.listen) No newline at end of file services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/config.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ import os class Config: class Config: def __init__(self): def __init__(self): self.cached = 0 self.cached = 0 self.file="./config.yaml" self.file="../config.yaml" self.my_config = {} self.my_config = {} stamp = os.stat(self.file).st_mtime stamp = os.stat(self.file).st_mtime Loading services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/default_controller.py +6 −5 Original line number Original line Diff line number Diff line Loading @@ -70,8 +70,9 @@ def onboarded_invokers_onboarding_id_put(onboarding_id, body): # noqa: E501 :rtype: APIInvokerEnrolmentDetails :rtype: APIInvokerEnrolmentDetails """ """ current_app.logger.info("Updating invoker") current_app.logger.info("Updating invoker") if connexion.request.is_json: if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json()) # noqa: E501 body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) return res return res Loading @@ -92,10 +93,10 @@ def onboarded_invokers_post(body): # noqa: E501 identity = get_jwt_identity() identity = get_jwt_identity() username, uuid = identity.split() username, uuid = identity.split() if connexion.request.is_json: body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json()) # noqa: E501 current_app.logger.info("Creating Invoker") current_app.logger.info("Creating 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.add_apiinvokerenrolmentdetail(body, username, uuid) return res return res services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/responses.py +6 −6 Original line number Original line Diff line number Diff line from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from ..encoder import JSONEncoder from ..encoder import CustomJSONEncoder from flask import Response from flask import Response import json import json from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case Loading @@ -8,7 +8,7 @@ mimetype = "application/json" def make_response(object, status): def make_response(object, status): res = Response(json.dumps(object, cls=JSONEncoder), status=status, mimetype=mimetype) res = Response(json.dumps(object, cls=CustomJSONEncoder), status=status, mimetype=mimetype) return res return res Loading @@ -17,25 +17,25 @@ def internal_server_error(detail, cause): prob = ProblemDetails(title="Internal Server Error", status=500, detail=detail, cause=cause) prob = ProblemDetails(title="Internal Server Error", status=500, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=500, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=500, mimetype=mimetype) def forbidden_error(detail, cause): def forbidden_error(detail, cause): prob = ProblemDetails(title="Forbidden", status=403, detail=detail, cause=cause) prob = ProblemDetails(title="Forbidden", status=403, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=403, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=403, mimetype=mimetype) def bad_request_error(detail, cause, invalid_params): def bad_request_error(detail, cause, invalid_params): prob = ProblemDetails(title="Bad Request", status=400, detail=detail, cause=cause, invalid_params=invalid_params) prob = ProblemDetails(title="Bad Request", status=400, detail=detail, cause=cause, invalid_params=invalid_params) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=400, mimetype=cause) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=400, mimetype=cause) def not_found_error(detail, cause): def not_found_error(detail, cause): prob = ProblemDetails(title="Not Found", status=404, detail=detail, cause=cause) prob = ProblemDetails(title="Not Found", status=404, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=404, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=404, mimetype=mimetype) No newline at end of file No newline at end of file services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/validate_user.py +2 −2 Original line number Original line Diff line number Diff line from flask import current_app, Response from flask import current_app, Response import json import json from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from ..encoder import JSONEncoder from ..encoder import CustomJSONEncoder from .resources import Resource from .resources import Resource from .responses import internal_server_error from .responses import internal_server_error from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case Loading @@ -21,7 +21,7 @@ class ControlAccess(Resource): if cert_entry["cert_signature"] != cert_signature: if cert_entry["cert_signature"] != cert_signature: prob = ProblemDetails(title="Unauthorized", detail="User not authorized", cause="You are not the owner of this resource") prob = ProblemDetails(title="Unauthorized", detail="User not authorized", cause="You are not the owner of this resource") prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=401, mimetype="application/json") return Response(json.dumps(prob, cls=CustomJSONEncoder), status=401, mimetype="application/json") except Exception as e: except Exception as e: exception = "An exception occurred in validate invoker" exception = "An exception occurred in validate invoker" Loading Loading
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/app.py +18 −12 Original line number Original line Diff line number Diff line Loading @@ -2,10 +2,10 @@ import connexion import connexion import logging import logging import api_invoker_management.encoder import encoder from flask_jwt_extended import JWTManager, jwt_required, create_access_token from flask_jwt_extended import JWTManager, jwt_required, create_access_token from .config import Config from config import Config from .core.consumer_messager import Subscriber from core.consumer_messager import Subscriber from logging.handlers import RotatingFileHandler from logging.handlers import RotatingFileHandler import os import os from fluent import sender from fluent import sender Loading Loading @@ -116,12 +116,11 @@ def verbose_formatter(): with open("/usr/src/app/api_invoker_management/pubkey.pem", "rb") as pub_file: with open("/usr/src/app/api_invoker_management/pubkey.pem", "rb") as pub_file: pub_data = pub_file.read() pub_data = pub_file.read() # app = connexion.App(__name__, specification_dir='./openapi/') app = connexion.App(__name__, specification_dir='openapi/') app = connexion.App(__name__) app.app.json_encoder = encoder.CustomJSONEncoder app.app.json_encoder = api_invoker_management.encoder.JSONEncoder app.add_api('openapi.yaml', # app.add_api('openapi.yaml', arguments={'title': 'CAPIF_API_Invoker_Management_API'}, # arguments={'title': 'CAPIF_API_Invoker_Management_API'}, pythonic_params=True) # pythonic_params=True) app.app.config['JWT_ALGORITHM'] = 'RS256' app.app.config['JWT_ALGORITHM'] = 'RS256' app.app.config['JWT_PUBLIC_KEY'] = pub_data app.app.config['JWT_PUBLIC_KEY'] = pub_data Loading @@ -139,8 +138,15 @@ if monitoring_value == "true": executor = Executor(app.app) executor = Executor(app.app) subscriber = Subscriber() subscriber = Subscriber() first = True # @app.app.before_first_request @app.app.before_request def create_listener_message(): def create_listener_message(): with app.app.app_context(): global first if first: executor.submit(subscriber.listen) executor.submit(subscriber.listen) first = False # @app.app.before_first_request # def create_listener_message(): # executor.submit(subscriber.listen) No newline at end of file
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/config.py +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ import os class Config: class Config: def __init__(self): def __init__(self): self.cached = 0 self.cached = 0 self.file="./config.yaml" self.file="../config.yaml" self.my_config = {} self.my_config = {} stamp = os.stat(self.file).st_mtime stamp = os.stat(self.file).st_mtime Loading
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/controllers/default_controller.py +6 −5 Original line number Original line Diff line number Diff line Loading @@ -70,8 +70,9 @@ def onboarded_invokers_onboarding_id_put(onboarding_id, body): # noqa: E501 :rtype: APIInvokerEnrolmentDetails :rtype: APIInvokerEnrolmentDetails """ """ current_app.logger.info("Updating invoker") current_app.logger.info("Updating invoker") if connexion.request.is_json: if request.is_json: body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json()) # noqa: E501 body = APIInvokerEnrolmentDetails.from_dict(request.get_json()) # noqa: E501 res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) res = invoker_operations.update_apiinvokerenrolmentdetail(onboarding_id,body) return res return res Loading @@ -92,10 +93,10 @@ def onboarded_invokers_post(body): # noqa: E501 identity = get_jwt_identity() identity = get_jwt_identity() username, uuid = identity.split() username, uuid = identity.split() if connexion.request.is_json: body = APIInvokerEnrolmentDetails.from_dict(connexion.request.get_json()) # noqa: E501 current_app.logger.info("Creating Invoker") current_app.logger.info("Creating 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.add_apiinvokerenrolmentdetail(body, username, uuid) return res return res
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/responses.py +6 −6 Original line number Original line Diff line number Diff line from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from ..encoder import JSONEncoder from ..encoder import CustomJSONEncoder from flask import Response from flask import Response import json import json from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case Loading @@ -8,7 +8,7 @@ mimetype = "application/json" def make_response(object, status): def make_response(object, status): res = Response(json.dumps(object, cls=JSONEncoder), status=status, mimetype=mimetype) res = Response(json.dumps(object, cls=CustomJSONEncoder), status=status, mimetype=mimetype) return res return res Loading @@ -17,25 +17,25 @@ def internal_server_error(detail, cause): prob = ProblemDetails(title="Internal Server Error", status=500, detail=detail, cause=cause) prob = ProblemDetails(title="Internal Server Error", status=500, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=500, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=500, mimetype=mimetype) def forbidden_error(detail, cause): def forbidden_error(detail, cause): prob = ProblemDetails(title="Forbidden", status=403, detail=detail, cause=cause) prob = ProblemDetails(title="Forbidden", status=403, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=403, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=403, mimetype=mimetype) def bad_request_error(detail, cause, invalid_params): def bad_request_error(detail, cause, invalid_params): prob = ProblemDetails(title="Bad Request", status=400, detail=detail, cause=cause, invalid_params=invalid_params) prob = ProblemDetails(title="Bad Request", status=400, detail=detail, cause=cause, invalid_params=invalid_params) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=400, mimetype=cause) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=400, mimetype=cause) def not_found_error(detail, cause): def not_found_error(detail, cause): prob = ProblemDetails(title="Not Found", status=404, detail=detail, cause=cause) prob = ProblemDetails(title="Not Found", status=404, detail=detail, cause=cause) prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=404, mimetype=mimetype) return Response(json.dumps(prob, cls=CustomJSONEncoder), status=404, mimetype=mimetype) No newline at end of file No newline at end of file
services/TS29222_CAPIF_API_Invoker_Management_API/api_invoker_management/core/validate_user.py +2 −2 Original line number Original line Diff line number Diff line from flask import current_app, Response from flask import current_app, Response import json import json from ..models.problem_details import ProblemDetails from ..models.problem_details import ProblemDetails from ..encoder import JSONEncoder from ..encoder import CustomJSONEncoder from .resources import Resource from .resources import Resource from .responses import internal_server_error from .responses import internal_server_error from ..util import serialize_clean_camel_case from ..util import serialize_clean_camel_case Loading @@ -21,7 +21,7 @@ class ControlAccess(Resource): if cert_entry["cert_signature"] != cert_signature: if cert_entry["cert_signature"] != cert_signature: prob = ProblemDetails(title="Unauthorized", detail="User not authorized", cause="You are not the owner of this resource") prob = ProblemDetails(title="Unauthorized", detail="User not authorized", cause="You are not the owner of this resource") prob = serialize_clean_camel_case(prob) prob = serialize_clean_camel_case(prob) return Response(json.dumps(prob, cls=JSONEncoder), status=401, mimetype="application/json") return Response(json.dumps(prob, cls=CustomJSONEncoder), status=401, mimetype="application/json") except Exception as e: except Exception as e: exception = "An exception occurred in validate invoker" exception = "An exception occurred in validate invoker" Loading