Skip to content
Snippets Groups Projects
Commit 0f75053d authored by Jorge Moratinos's avatar Jorge Moratinos
Browse files

Merge branch 'OCF17-parse-response-from-db-to-object-to-accomplish-spec' into 'staging'

Ocf17 parse response from db to object to accomplish spec

See merge request !9
parents 5497a0d3 211d2d70
No related branches found
No related tags found
2 merge requests!43Staging to Main for Release 1,!9Ocf17 parse response from db to object to accomplish spec
Pipeline #5393 passed with warnings
......@@ -5,10 +5,12 @@ import requests
from .responses import bad_request_error, not_found_error, forbidden_error, internal_server_error, make_response
from flask import current_app, Flask, Response
import json
from datetime import datetime
from ..util import dict_to_camel_case
from .auth_manager import AuthManager
from .resources import Resource
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
current_app.logger.debug(cert)
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())
register.update_one({'username':username}, {"$push":{'list_invokers':api_invoker_id}})
current_app.logger.debug("Invoker inserted in database")
current_app.logger.debug("Netapp onboarded sucessfuly")
......@@ -123,7 +129,8 @@ class InvokerManagementOperations(Resource):
}
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
except Exception as e:
......
......@@ -4,11 +4,13 @@ import secrets
from flask import current_app, Flask, Response
from ..core.sign_certificate import sign_certificate
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 .resources import Resource
from .auth_manager import AuthManager
from api_provider_management.models.api_provider_enrolment_details import APIProviderEnrolmentDetails # noqa: E501
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)
# 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}})
current_app.logger.debug("Provider inserted in database")
......@@ -135,7 +140,7 @@ class ProviderManagementOperations(Resource):
result = clean_empty(result)
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:
exception = "An exception occurred in update provider"
......@@ -161,7 +166,7 @@ class ProviderManagementOperations(Resource):
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:
exception = "An exception occurred in patch provider"
......
......@@ -43,7 +43,7 @@ class DiscoverApisOperations(Resource):
if my_params:
my_query = {"$and": my_params}
discoved_apis = services.find(my_query, {"_id":0, "apf_id":0})
discoved_apis = services.find(my_query, {"_id":0, "api_name":1, "api_id":1, "aef_profiles":1, "description":1, "supported_features":1, "shareable_info":1, "service_api_category":1, "api_supp_feats":1, "pub_api_path":1, "ccf_id":1})
json_docs = []
for discoved_api in discoved_apis:
my_api = dict_to_camel_case(discoved_api)
......
......@@ -11,6 +11,8 @@ from ..db.db import MongoDatabse
from ..encoder import JSONEncoder
from ..models.problem_details import ProblemDetails
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 .responses import bad_request_error, internal_server_error, forbidden_error, not_found_error, unauthorized_error, make_response
from bson import json_util
......@@ -55,7 +57,8 @@ class PublishServiceOperations(Resource):
if result != None:
return result
service = mycol.find({"apf_id": apf_id}, {"apf_id":0, "_id":0})
service = mycol.find({"apf_id": apf_id}, {"_id":0, "api_name":1, "api_id":1, "aef_profiles":1, "description":1, "supported_features":1, "shareable_info":1, "service_api_category":1, "api_supp_feats":1, "pub_api_path":1, "ccf_id":1})
current_app.logger.debug(service)
if service is None:
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")
......@@ -67,6 +70,7 @@ class PublishServiceOperations(Resource):
json_docs.append(my_service_api)
current_app.logger.debug("Obtained services apis")
current_app.logger.debug(json_docs)
res = make_response(object=json_docs, status=200)
return res
......@@ -97,7 +101,9 @@ class PublishServiceOperations(Resource):
serviceapidescription.api_id = api_id
rec = dict()
rec['apf_id'] = apf_id
rec['onboarding_date'] = datetime.now()
rec.update(serviceapidescription.to_dict())
mycol.insert_one(rec)
self.auth_manager.add_auth_service(api_id, apf_id)
......@@ -127,7 +133,7 @@ class PublishServiceOperations(Resource):
return result
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, {"_id":0, "api_name":1, "api_id":1, "aef_profiles":1, "description":1, "supported_features":1, "shareable_info":1, "service_api_category":1, "api_supp_feats":1, "pub_api_path":1, "ccf_id":1})
if service_api is None:
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")
......@@ -201,7 +207,7 @@ class PublishServiceOperations(Resource):
service_api_description = service_api_description.to_dict()
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={"_id":0, "api_name":1, "api_id":1, "aef_profiles":1, "description":1, "supported_features":1, "shareable_info":1, "service_api_category":1, "api_supp_feats":1, "pub_api_path":1, "ccf_id":1},return_document=ReturnDocument.AFTER ,upsert=False)
result = clean_empty(result)
......
from flask import Flask, jsonify, request, current_app
from flask_jwt_extended import create_access_token
from ..db.db import MongoDatabse
from datetime import datetime
from ..config import Config
from register_service import auth_utils
import secrets
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment