Commit 2467f4ea authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Merge branch 'OCF70-upgrade-flask-library-to-latest-version' into 'staging'

Ocf70 upgrade flask library to latest version

See merge request !61
parents ae156811 d5cbc2fa
Loading
Loading
Loading
Loading
Loading
+13 −4
Original line number Original line Diff line number Diff line
@@ -116,8 +116,8 @@ 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.app.json_encoder = encoder.JSONEncoder
app.app.json_encoder = encoder.CustomJSONEncoder
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)
@@ -138,6 +138,15 @@ if monitoring_value == "true":
executor = Executor(app.app)
executor = Executor(app.app)
subscriber = Subscriber()
subscriber = Subscriber()


@app.app.before_first_request
first = True

@app.app.before_request
def create_listener_message():
def create_listener_message():
    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
+6 −5
Original line number Original line Diff line number Diff line
@@ -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
@@ -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
+1 −1
Original line number Original line Diff line number Diff line
from abc import ABC, abstractmethod
from abc import ABC, abstractmethod
from db.db import MongoDatabse
from api_invoker_management.db.db import MongoDatabse


class Resource(ABC):
class Resource(ABC):


+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
@@ -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


@@ -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
+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
@@ -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