Loading README.md +2 −5 Original line number Diff line number Diff line Loading @@ -55,17 +55,14 @@ python main.py - List of Invokers registered in CAPIF - List of Provider registered in CAPIF - List of Services registered in CAPIF by providers - List of Events Subscriptions registered in CAPIF by Invokers/Providers - List of Security Context registered in CAPIF by Invokers - Delete of Security Context registered in CAPIF 2. Pending Features - Delete Invokers registered in CAPIF - Delete Providers registered in CAPIF - Delete Services registered in CAPIF by providers - Delete Events Subscriptions registered in CAPIF by Invokers/Providers - Delete Security Context registered in CAPIF by Invokers - List of Events Subscriptions registered in CAPIF by Invokers/Providers ## Endpoint routes Loading controllers/resources.py +27 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,15 @@ async def get_invokers(Authorize: AuthJWT = Depends()): return invokers_ops.get_all_invokers() @router.delete("/resources/invokers/{invoker_id}",) async def delete_invoker(invoker_id, Authorize: AuthJWT = Depends()): """ Get list of all invokers registered in CAPIF """ Authorize.jwt_required() return invokers_ops.remove_invoker(invoker_id) @router.get('/resources/invokers/security/{invoker_id}') Loading Loading @@ -53,10 +61,18 @@ async def get_all_providers(Authorize: AuthJWT = Depends()): Authorize.jwt_required() # Use create_access_token() and create_refresh_token() to create our # access and refresh tokens return providers_ops.get_all_providers() @router.delete("/resources/providers/{provider_id}",) async def delete_provider(provider_id, Authorize: AuthJWT = Depends()): """ Get list of all provider registered in CAPIF """ Authorize.jwt_required() return providers_ops.remove_provider(provider_id) @router.get('/resources/providers/services/{apf_id}') def get_provider_services_resources(apf_id, Authorize: AuthJWT = Depends()): Loading @@ -76,6 +92,15 @@ def get_provider_services_resources(apf_id, Authorize: AuthJWT = Depends()): return "not implemented yet" @router.delete('/resources/provider/services/{apf_id}/{service_id}') def delete_provider_service(apf_id, service_id, Authorize: AuthJWT = Depends()): """ Retreive all resources of provider, services, event subscriptions """ Authorize.jwt_required() return providers_ops.remove_service(apf_id, service_id) @router.delete('/resources/invokers/security/{invoker_id}') def delete_invoker_security_context(invoker_id, Authorize: AuthJWT = Depends()): """ Loading core/capif_ops.py +39 −11 Original line number Diff line number Diff line Loading @@ -10,8 +10,6 @@ HOSTAME = "localhost" class CapifOps(): def __init__(self): self.payload = {} self.files = {} self.headers = { 'Content-Type': 'application/json' } Loading @@ -19,16 +17,46 @@ class CapifOps(): def delete_security_context(self, id): url = f"https://{HOSTAME}/capif-security/v1/trustedInvokers/{id}" response = self.__make_request(url) return response def delete_service(self, id, service_id): url = f"https://{HOSTAME}/published-apis/v1/{id}/service-apis/{service_id}" response = self.__make_request(url) return response def delete_event_subscription(self, id, subscription_id): url = f"https://{HOSTAME}/capif-events/v1/{id}/subscriptions/{subscription_id}" response = self.__make_request(url) return response def delete_invoker(self, id): url = f"https://{HOSTAME}/api-invoker-management/v1/onboardedInvokers/{id}" response = self.__make_request(url) return response def delete_provider(self, id): url = f"https://{HOSTAME}/api-provider-management/v1/registrations/{id}" response = self.__make_request(url) return response def __make_request(self, url): try: response = requests.delete(url, headers=self.headers, data=self.payload, files=self.files, cert=('certs/cert_backoffice.crt', 'certs/private.key'), verify=False) response = requests.delete(url, headers=self.headers, cert=('certs/cert_backoffice.crt', 'certs/private.key'), verify=False) return response except Exception as e: logger.error("Something wrong happens: ", e) return "Shometing wrong happens: ", e No newline at end of file def delete_service(self, id): return "Not implemented yet" def delete_event_subscription(self, id): return "Not implemented yet" No newline at end of file core/invokers_resources.py +12 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ class InvokersResources(Resource): print(e) return "Error when retreiving invoker list: ", e def get_security_context(self, id): security_context_col = self.db.get_col_by_name(self.db.security_context) Loading @@ -44,6 +45,17 @@ class InvokersResources(Resource): print(e) return "Error when retreiving invoker list: ", e def remove_invoker(self, id): try: response = self.capif.delete_invoker(id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete invoker: ", e) return "Error while delete invoker ", e def remove_security_context(self, id): try: response = self.capif.delete_security_context(id) Loading core/providers_resources.py +23 −1 Original line number Diff line number Diff line Loading @@ -45,3 +45,25 @@ class ProviderResources(Resource): except Exception as e: return "Error when retreiving apf service list: ", e def remove_provider(self, id): try: response = self.capif.delete_provider(id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete provider: ", e) return "Error while delete provider ", e def remove_service(self, id, service_id): try: response = self.capif.delete_service(id, service_id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete security context: ", e) return "Error while delete security context", e No newline at end of file Loading
README.md +2 −5 Original line number Diff line number Diff line Loading @@ -55,17 +55,14 @@ python main.py - List of Invokers registered in CAPIF - List of Provider registered in CAPIF - List of Services registered in CAPIF by providers - List of Events Subscriptions registered in CAPIF by Invokers/Providers - List of Security Context registered in CAPIF by Invokers - Delete of Security Context registered in CAPIF 2. Pending Features - Delete Invokers registered in CAPIF - Delete Providers registered in CAPIF - Delete Services registered in CAPIF by providers - Delete Events Subscriptions registered in CAPIF by Invokers/Providers - Delete Security Context registered in CAPIF by Invokers - List of Events Subscriptions registered in CAPIF by Invokers/Providers ## Endpoint routes Loading
controllers/resources.py +27 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,15 @@ async def get_invokers(Authorize: AuthJWT = Depends()): return invokers_ops.get_all_invokers() @router.delete("/resources/invokers/{invoker_id}",) async def delete_invoker(invoker_id, Authorize: AuthJWT = Depends()): """ Get list of all invokers registered in CAPIF """ Authorize.jwt_required() return invokers_ops.remove_invoker(invoker_id) @router.get('/resources/invokers/security/{invoker_id}') Loading Loading @@ -53,10 +61,18 @@ async def get_all_providers(Authorize: AuthJWT = Depends()): Authorize.jwt_required() # Use create_access_token() and create_refresh_token() to create our # access and refresh tokens return providers_ops.get_all_providers() @router.delete("/resources/providers/{provider_id}",) async def delete_provider(provider_id, Authorize: AuthJWT = Depends()): """ Get list of all provider registered in CAPIF """ Authorize.jwt_required() return providers_ops.remove_provider(provider_id) @router.get('/resources/providers/services/{apf_id}') def get_provider_services_resources(apf_id, Authorize: AuthJWT = Depends()): Loading @@ -76,6 +92,15 @@ def get_provider_services_resources(apf_id, Authorize: AuthJWT = Depends()): return "not implemented yet" @router.delete('/resources/provider/services/{apf_id}/{service_id}') def delete_provider_service(apf_id, service_id, Authorize: AuthJWT = Depends()): """ Retreive all resources of provider, services, event subscriptions """ Authorize.jwt_required() return providers_ops.remove_service(apf_id, service_id) @router.delete('/resources/invokers/security/{invoker_id}') def delete_invoker_security_context(invoker_id, Authorize: AuthJWT = Depends()): """ Loading
core/capif_ops.py +39 −11 Original line number Diff line number Diff line Loading @@ -10,8 +10,6 @@ HOSTAME = "localhost" class CapifOps(): def __init__(self): self.payload = {} self.files = {} self.headers = { 'Content-Type': 'application/json' } Loading @@ -19,16 +17,46 @@ class CapifOps(): def delete_security_context(self, id): url = f"https://{HOSTAME}/capif-security/v1/trustedInvokers/{id}" response = self.__make_request(url) return response def delete_service(self, id, service_id): url = f"https://{HOSTAME}/published-apis/v1/{id}/service-apis/{service_id}" response = self.__make_request(url) return response def delete_event_subscription(self, id, subscription_id): url = f"https://{HOSTAME}/capif-events/v1/{id}/subscriptions/{subscription_id}" response = self.__make_request(url) return response def delete_invoker(self, id): url = f"https://{HOSTAME}/api-invoker-management/v1/onboardedInvokers/{id}" response = self.__make_request(url) return response def delete_provider(self, id): url = f"https://{HOSTAME}/api-provider-management/v1/registrations/{id}" response = self.__make_request(url) return response def __make_request(self, url): try: response = requests.delete(url, headers=self.headers, data=self.payload, files=self.files, cert=('certs/cert_backoffice.crt', 'certs/private.key'), verify=False) response = requests.delete(url, headers=self.headers, cert=('certs/cert_backoffice.crt', 'certs/private.key'), verify=False) return response except Exception as e: logger.error("Something wrong happens: ", e) return "Shometing wrong happens: ", e No newline at end of file def delete_service(self, id): return "Not implemented yet" def delete_event_subscription(self, id): return "Not implemented yet" No newline at end of file
core/invokers_resources.py +12 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ class InvokersResources(Resource): print(e) return "Error when retreiving invoker list: ", e def get_security_context(self, id): security_context_col = self.db.get_col_by_name(self.db.security_context) Loading @@ -44,6 +45,17 @@ class InvokersResources(Resource): print(e) return "Error when retreiving invoker list: ", e def remove_invoker(self, id): try: response = self.capif.delete_invoker(id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete invoker: ", e) return "Error while delete invoker ", e def remove_security_context(self, id): try: response = self.capif.delete_security_context(id) Loading
core/providers_resources.py +23 −1 Original line number Diff line number Diff line Loading @@ -45,3 +45,25 @@ class ProviderResources(Resource): except Exception as e: return "Error when retreiving apf service list: ", e def remove_provider(self, id): try: response = self.capif.delete_provider(id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete provider: ", e) return "Error while delete provider ", e def remove_service(self, id, service_id): try: response = self.capif.delete_service(id, service_id) logger.info(response) return "Done", 200 except Exception as e: logger.error("Error while delete security context: ", e) return "Error while delete security context", e No newline at end of file