Commit 75c7a948 authored by Pelayo Torres's avatar Pelayo Torres
Browse files

output changed and onboarding date added

parent 5e5dc289
Loading
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -5,10 +5,12 @@ import requests
from .responses import bad_request_error, not_found_error, forbidden_error, internal_server_error, make_response
from .responses import bad_request_error, not_found_error, forbidden_error, internal_server_error, make_response
from flask import current_app, Flask, Response
from flask import current_app, Flask, Response
import json
import json
from datetime import datetime
from ..util import dict_to_camel_case
from ..util import dict_to_camel_case
from .auth_manager import AuthManager
from .auth_manager import AuthManager
from .resources import Resource
from .resources import Resource
from ..config import Config
from ..config import Config
from api_invoker_management.models.api_invoker_enrolment_details import APIInvokerEnrolmentDetails






@@ -77,10 +79,14 @@ class InvokerManagementOperations(Resource):
        apiinvokerenrolmentdetail.api_invoker_id = api_invoker_id
        apiinvokerenrolmentdetail.api_invoker_id = api_invoker_id
        current_app.logger.debug(cert)
        current_app.logger.debug(cert)
        apiinvokerenrolmentdetail.onboarding_information.api_invoker_certificate = cert['data']['certificate']
        apiinvokerenrolmentdetail.onboarding_information.api_invoker_certificate = cert['data']['certificate']

        # Onboarding Date Record
        invoker_dict = apiinvokerenrolmentdetail.to_dict()
        invoker_dict["onboarding_date"] = datetime.now()

        mycol.insert_one(apiinvokerenrolmentdetail.to_dict())
        mycol.insert_one(apiinvokerenrolmentdetail.to_dict())
        register.update_one({'username':username}, {"$push":{'list_invokers':api_invoker_id}})
        register.update_one({'username':username}, {"$push":{'list_invokers':api_invoker_id}})



        current_app.logger.debug("Invoker inserted in database")
        current_app.logger.debug("Invoker inserted in database")
        current_app.logger.debug("Netapp onboarded sucessfuly")
        current_app.logger.debug("Netapp onboarded sucessfuly")


@@ -123,7 +129,8 @@ class InvokerManagementOperations(Resource):
            }
            }


            current_app.logger.debug("Invoker Resource inserted in database")
            current_app.logger.debug("Invoker Resource inserted in database")
            res = make_response(object=dict_to_camel_case(result), status=200)

            res = make_response(object=APIInvokerEnrolmentDetails().from_dict(dict_to_camel_case(result)), status=200)
            return res
            return res


        except Exception as e:
        except Exception as e:
+9 −4
Original line number Original line Diff line number Diff line
@@ -4,11 +4,13 @@ import secrets
from flask import current_app, Flask, Response
from flask import current_app, Flask, Response
from ..core.sign_certificate import sign_certificate
from ..core.sign_certificate import sign_certificate
from .responses import internal_server_error, not_found_error, forbidden_error, make_response, bad_request_error
from .responses import internal_server_error, not_found_error, forbidden_error, make_response, bad_request_error

from datetime import datetime
from ..util import dict_to_camel_case, clean_empty
from ..util import dict_to_camel_case, clean_empty
from .resources import Resource
from .resources import Resource
from .auth_manager import AuthManager
from .auth_manager import AuthManager


from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails  # noqa: E501



class ProviderManagementOperations(Resource):
class ProviderManagementOperations(Resource):


@@ -53,8 +55,11 @@ class ProviderManagementOperations(Resource):


                self.auth_manager.add_auth_provider(certificate, api_provider_func.api_prov_func_id, api_provider_func.api_prov_func_role, api_provider_enrolment_details.api_prov_dom_id)
                self.auth_manager.add_auth_provider(certificate, api_provider_func.api_prov_func_id, api_provider_func.api_prov_func_role, api_provider_enrolment_details.api_prov_dom_id)


            # Onboarding Date Record
            provider_dict = api_provider_enrolment_details.to_dict()
            provider_dict["onboarding_date"] = datetime.now()


            mycol.insert_one(api_provider_enrolment_details.to_dict())
            mycol.insert_one(provider_dict)
            register.update_one({'username':username}, {"$push":{'list_providers':api_provider_enrolment_details.api_prov_dom_id}})
            register.update_one({'username':username}, {"$push":{'list_providers':api_provider_enrolment_details.api_prov_dom_id}})


            current_app.logger.debug("Provider inserted in database")
            current_app.logger.debug("Provider inserted in database")
@@ -135,7 +140,7 @@ class ProviderManagementOperations(Resource):
            result = clean_empty(result)
            result = clean_empty(result)


            current_app.logger.debug("Provider domain updated in database")
            current_app.logger.debug("Provider domain updated in database")
            return make_response(object=dict_to_camel_case(result), status=200)
            return make_response(object=APIProviderEnrolmentDetails().from_dict(dict_to_camel_case(result)), status=200)


        except Exception as e:
        except Exception as e:
            exception = "An exception occurred in update provider"
            exception = "An exception occurred in update provider"
@@ -161,7 +166,7 @@ class ProviderManagementOperations(Resource):


            current_app.logger.debug("Provider domain updated in database")
            current_app.logger.debug("Provider domain updated in database")


            return make_response(object=dict_to_camel_case(result), status=200)
            return make_response(object=APIProviderEnrolmentDetails().from_dict(dict_to_camel_case(result)), status=200)


        except Exception as e:
        except Exception as e:
            exception = "An exception occurred in patch provider"
            exception = "An exception occurred in patch provider"
+1 −1
Original line number Original line Diff line number Diff line
@@ -43,7 +43,7 @@ class DiscoverApisOperations(Resource):
            if my_params:
            if my_params:
                my_query = {"$and": my_params}
                my_query = {"$and": my_params}


            discoved_apis = services.find(my_query, {"_id":0, "apf_id":0})
            discoved_apis = services.find(my_query, {"onboarding_date":0, "_id":0, "apf_id":0})
            json_docs = []
            json_docs = []
            for discoved_api in discoved_apis:
            for discoved_api in discoved_apis:
                my_api = dict_to_camel_case(discoved_api)
                my_api = dict_to_camel_case(discoved_api)
+9 −3
Original line number Original line Diff line number Diff line
@@ -11,6 +11,8 @@ from ..db.db import MongoDatabse
from ..encoder import JSONEncoder
from ..encoder import JSONEncoder
from ..models.problem_details import ProblemDetails
from ..models.problem_details import ProblemDetails
from .resources import Resource
from .resources import Resource
from published_apis.models.service_api_description import ServiceAPIDescription
from datetime import datetime
from ..util import dict_to_camel_case, clean_empty
from ..util import dict_to_camel_case, clean_empty
from .responses import bad_request_error, internal_server_error, forbidden_error, not_found_error, unauthorized_error, make_response
from .responses import bad_request_error, internal_server_error, forbidden_error, not_found_error, unauthorized_error, make_response
from bson import json_util
from bson import json_util
@@ -55,7 +57,8 @@ class PublishServiceOperations(Resource):
            if result != None:
            if result != None:
                return result
                return result


            service = mycol.find({"apf_id": apf_id}, {"apf_id":0, "_id":0})
            service = mycol.find({"apf_id": apf_id}, {"onboarding_date":0, "apf_id":0, "_id":0})
            current_app.logger.debug(service)
            if service is None:
            if service is None:
                current_app.logger.error("Not found services for this apf id")
                current_app.logger.error("Not found services for this apf id")
                return not_found_error(detail="Not exist published services for this apf_id", cause="Not exist service with this apf_id")
                return not_found_error(detail="Not exist published services for this apf_id", cause="Not exist service with this apf_id")
@@ -67,6 +70,7 @@ class PublishServiceOperations(Resource):
                json_docs.append(my_service_api)
                json_docs.append(my_service_api)


            current_app.logger.debug("Obtained services apis")
            current_app.logger.debug("Obtained services apis")
            current_app.logger.debug(json_docs)


            res = make_response(object=json_docs, status=200)
            res = make_response(object=json_docs, status=200)
            return res
            return res
@@ -97,7 +101,9 @@ class PublishServiceOperations(Resource):
            serviceapidescription.api_id = api_id
            serviceapidescription.api_id = api_id
            rec = dict()
            rec = dict()
            rec['apf_id'] = apf_id
            rec['apf_id'] = apf_id
            rec['onboarding_date'] = datetime.now()
            rec.update(serviceapidescription.to_dict())
            rec.update(serviceapidescription.to_dict())

            mycol.insert_one(rec)
            mycol.insert_one(rec)


            self.auth_manager.add_auth_service(api_id, apf_id)
            self.auth_manager.add_auth_service(api_id, apf_id)
@@ -127,7 +133,7 @@ class PublishServiceOperations(Resource):
                return result
                return result


            my_query = {'apf_id': apf_id, 'api_id': service_api_id}
            my_query = {'apf_id': apf_id, 'api_id': service_api_id}
            service_api = mycol.find_one(my_query, {"apf_id":0, "_id":0})
            service_api = mycol.find_one(my_query, {"onboarding_date":0, "apf_id":0, "_id":0})
            if service_api is None:
            if service_api is None:
                current_app.logger.error(service_api_not_found_message)
                current_app.logger.error(service_api_not_found_message)
                return not_found_error(detail=service_api_not_found_message, cause="No Service with specific credentials exists")
                return not_found_error(detail=service_api_not_found_message, cause="No Service with specific credentials exists")
@@ -201,7 +207,7 @@ class PublishServiceOperations(Resource):
            service_api_description = service_api_description.to_dict()
            service_api_description = service_api_description.to_dict()
            service_api_description = clean_empty(service_api_description)
            service_api_description = clean_empty(service_api_description)


            result = mycol.find_one_and_update(serviceapidescription, {"$set":service_api_description}, projection={"apf_id":0, "_id":0},return_document=ReturnDocument.AFTER ,upsert=False)
            result = mycol.find_one_and_update(serviceapidescription, {"$set":service_api_description}, projection={"onboarding_date":0, "apf_id":0, "_id":0},return_document=ReturnDocument.AFTER ,upsert=False)


            result = clean_empty(result)
            result = clean_empty(result)


+2 −1
Original line number Original line Diff line number Diff line
from flask import Flask, jsonify, request, current_app
from flask import Flask, jsonify, request, current_app
from flask_jwt_extended import create_access_token
from flask_jwt_extended import create_access_token
from ..db.db import MongoDatabse
from ..db.db import MongoDatabse
from datetime import datetime
from ..config import Config
from ..config import Config
import secrets
import secrets
import requests
import requests
@@ -21,7 +22,7 @@ class RegisterOperations:
        if exist_user:
        if exist_user:
            return jsonify("user already exists"), 409
            return jsonify("user already exists"), 409


        user_info = dict(_id=secrets.token_hex(7), username=username, password=password, role=role, description=description, cn=cn, list_invokers=[], list_providers=[])
        user_info = dict(_id=secrets.token_hex(7), username=username, password=password, role=role, description=description, cn=cn, list_invokers=[], list_providers=[], onboarding_date=datetime.now())
        obj = mycol.insert_one(user_info)
        obj = mycol.insert_one(user_info)


        if role == "invoker":
        if role == "invoker":