Commit a9e1815a authored by Stavros-Anastasios Charismiadis's avatar Stavros-Anastasios Charismiadis
Browse files

add database interaction for interconnected ccfs (not fully tested)

parent 761dde4a
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ mongo:
  col_security: security
  col_event: eventsdetails
  col_capif_configuration: capif_configuration
  col_interconnected: interconnected
  host: mongo
  port: 27017

+12 −6
Original line number Diff line number Diff line
@@ -73,10 +73,16 @@ class CapifDomainOperations(Resource):
                                    cert=('server_certs/server.crt', 'server_certs/server.key'),
                                    verify='server_certs/ca.crt')

        current_app.logger.debug(response.text)

        capifdomaindetails_dict = capifdomaindetails.to_dict()
        current_app.logger.debug(capifdomaindetails_dict)

        res = make_response(object=clean_n_camel_case(capifdomaindetails_dict), status=response.status_code)
        inter_ccf = response.json()
        current_app.logger.debug(inter_ccf)

        if response.status_code == 201:
            interconnected_col = self.db.get_col_by_name(self.db.col_interconnected)
            interconnected_ccf = interconnected_col.find_one({"ccf_id": inter_ccf['ccf_id']})
            if interconnected_ccf:
                current_app.logger.debug("CCF already interconnected : {}".format(inter_ccf['ccf_id']))
                return make_response("CCF already interconnected"), 409
            interconnected_col.insert_one(inter_ccf)

        res = make_response(object=clean_n_camel_case(inter_ccf), status=response.status_code)
        return res
+9 −1
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ class CcfInstanceOperations(Resource):
    def add_ccfinstance(self, ccfinstancedetails):
        current_app.logger.debug("Interconnection: Add instance")
        current_app.logger.debug(ccfinstancedetails)
        ccfinstancedetails_dict = ccfinstancedetails.to_dict()

        with open('server_certs/ca.crt', 'rb') as ca_cert:
            server_ca = ca_cert.read()
@@ -51,6 +50,15 @@ class CcfInstanceOperations(Resource):
        config_col = self.db.get_col_by_name(self.db.capif_configuration)
        config = config_col.find_one({}, {"_id": 0})

        interconnected_col = self.db.get_col_by_name(self.db.col_interconnected)
        interconnected_ccf = interconnected_col.find_one({"ccf_id": ccfinstancedetails.ccf_id})
        if interconnected_ccf:
            current_app.logger.debug("CCF already interconnected : {}".format(ccfinstancedetails.ccf_id))
            return make_response("CCF already interconnected"), 409

        ccfinstancedetails_dict = ccfinstancedetails.to_dict()
        interconnected_col.insert_one(ccfinstancedetails_dict)

        ccfinstancedetails_dict['ca_root'] = server_ca.decode("utf-8")
        ccfinstancedetails_dict['public_key'] = server_pub.decode("utf-8")
        ccfinstancedetails_dict['ccf_id'] = config['ccf_id']