Loading src/tapi/service/service/routes.py +38 −98 Original line number Diff line number Diff line Loading @@ -91,18 +91,18 @@ def create_service (): else : return make_response(response.text,400) @service.route('/delete_service',methods= ['POST']) def delete_service (): data = request.json service_uuids = data.get('service_uuid',[]) if len(service_uuids) ==0 : @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>',methods= ['DELETE']) def delete_service (service_uuid): if service_uuid is None : return make_response("service_uuid is required", 400) try : service_client.connect() for service_uuid in service_uuids : service_id = ServiceId() service_id.service_uuid.uuid = service_uuid service_id.context_id.context_uuid.uuid = 'admin' Loading @@ -115,87 +115,27 @@ def delete_service (): if service_client: service_client.close() @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>',methods= ['DELETE']) def delete_child_service (service_uuid): data = request.json topologies = data.get('topologies',[]) if len(topologies) ==0 : return make_response("topologies is required", 400) if not service_uuid: return make_response("service_uuid is required", 400) for topology in topologies : host = topology.get('host',None) port = topology.get('port',8008) if not host: return make_response("host is required", 400) @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>', methods=['GET']) @service.route('/restconf/data/tapi-connectivity:connectivity-service/', methods=['GET']) def get_services(service_uuid=None): url = ('http://{}:{}/service/delete_service').format(host,port) try : response = requests.post(url,json={'service_uuid': [service_uuid]}) if response.status_code != 200: return make_response(f"Failed to delete child service: {response.text}", response.status_code) except Exception as e : logging.info(f"error in deleting child service {e}") return make_response(f'Error !! {e}' ,400) return make_response("Child services deleted successfully !!", 200) @service.route('/get_service/<context_uuid>/<service_uuid>', methods=['GET']) @service.route('/get_service/<context_uuid>', methods=['GET']) def get_service(context_uuid,service_uuid=None): if not context_uuid: return make_response("context_uuid is required", 400) context_id = ContextId() context_id.context_uuid.uuid = context_uuid try: context_id.context_uuid.uuid = 'admin' context_client.connect() if service_uuid: if service_uuid is None: services = context_client.ListServices(context_id) return make_response(json.dumps(MessageToDict(services)), 200) service_id = ServiceId() service_id.service_uuid.uuid = service_uuid service_id.context_id.context_uuid.uuid = context_uuid service_id.context_id.context_uuid.uuid = 'admin' service = context_client.GetService(service_id) if not service: return make_response("Service not found", 404) service_dict = MessageToDict(service, preserving_proto_field_name=True) return make_response(json.dumps(service_dict), 200) # If no service_uuid is provided, list all services in the context list_services = context_client.ListServices(context_id) if not list_services: return make_response("No services found", 404) services_list = [] for service in list_services: service_dict = MessageToDict(service, preserving_proto_field_name=True) services_list.append(service_dict) return make_response(json.dumps(services_list), 200) return make_response(json.dumps(MessageToDict(service)), 200) except Exception as e : logging.error(f"Error retrieving services: {e}") return make_response(f"Error retrieving services: {e}", 500) logging.info(f"error in getting service {e}") return make_response(f'Error !! {e}' ,400) finally : if context_client: context_client.close() No newline at end of file @service.route('/restconf/data/tapi-connectivity:connectivity-service/<host>/<service_uuid>', methods=['GET']) @service.route('/restconf/data/tapi-connectivity:connectivity-service/<host>', methods=['GET']) def get_child_services(host,service_uuid=None): if not host: return make_response("port is required", 400) port = 8008 context_uuid = 'admin' url = ('http://{}:{}/service/get_service/{}/{}').format(host, port,context_uuid,service_uuid) try: response = requests.get(url) if response.status_code != 200: return make_response(f"Failed to retrieve child services: {response.text}", response.status_code) child_services = response.json() return make_response(json.dumps(child_services), 200) except Exception as e: logging.error(f"Error retrieving child services: {e}") return make_response(f"Error retrieving child services: {e}", 500) No newline at end of file Loading
src/tapi/service/service/routes.py +38 −98 Original line number Diff line number Diff line Loading @@ -91,18 +91,18 @@ def create_service (): else : return make_response(response.text,400) @service.route('/delete_service',methods= ['POST']) def delete_service (): data = request.json service_uuids = data.get('service_uuid',[]) if len(service_uuids) ==0 : @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>',methods= ['DELETE']) def delete_service (service_uuid): if service_uuid is None : return make_response("service_uuid is required", 400) try : service_client.connect() for service_uuid in service_uuids : service_id = ServiceId() service_id.service_uuid.uuid = service_uuid service_id.context_id.context_uuid.uuid = 'admin' Loading @@ -115,87 +115,27 @@ def delete_service (): if service_client: service_client.close() @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>',methods= ['DELETE']) def delete_child_service (service_uuid): data = request.json topologies = data.get('topologies',[]) if len(topologies) ==0 : return make_response("topologies is required", 400) if not service_uuid: return make_response("service_uuid is required", 400) for topology in topologies : host = topology.get('host',None) port = topology.get('port',8008) if not host: return make_response("host is required", 400) @service.route('/restconf/data/tapi-connectivity:connectivity-service/<service_uuid>', methods=['GET']) @service.route('/restconf/data/tapi-connectivity:connectivity-service/', methods=['GET']) def get_services(service_uuid=None): url = ('http://{}:{}/service/delete_service').format(host,port) try : response = requests.post(url,json={'service_uuid': [service_uuid]}) if response.status_code != 200: return make_response(f"Failed to delete child service: {response.text}", response.status_code) except Exception as e : logging.info(f"error in deleting child service {e}") return make_response(f'Error !! {e}' ,400) return make_response("Child services deleted successfully !!", 200) @service.route('/get_service/<context_uuid>/<service_uuid>', methods=['GET']) @service.route('/get_service/<context_uuid>', methods=['GET']) def get_service(context_uuid,service_uuid=None): if not context_uuid: return make_response("context_uuid is required", 400) context_id = ContextId() context_id.context_uuid.uuid = context_uuid try: context_id.context_uuid.uuid = 'admin' context_client.connect() if service_uuid: if service_uuid is None: services = context_client.ListServices(context_id) return make_response(json.dumps(MessageToDict(services)), 200) service_id = ServiceId() service_id.service_uuid.uuid = service_uuid service_id.context_id.context_uuid.uuid = context_uuid service_id.context_id.context_uuid.uuid = 'admin' service = context_client.GetService(service_id) if not service: return make_response("Service not found", 404) service_dict = MessageToDict(service, preserving_proto_field_name=True) return make_response(json.dumps(service_dict), 200) # If no service_uuid is provided, list all services in the context list_services = context_client.ListServices(context_id) if not list_services: return make_response("No services found", 404) services_list = [] for service in list_services: service_dict = MessageToDict(service, preserving_proto_field_name=True) services_list.append(service_dict) return make_response(json.dumps(services_list), 200) return make_response(json.dumps(MessageToDict(service)), 200) except Exception as e : logging.error(f"Error retrieving services: {e}") return make_response(f"Error retrieving services: {e}", 500) logging.info(f"error in getting service {e}") return make_response(f'Error !! {e}' ,400) finally : if context_client: context_client.close() No newline at end of file @service.route('/restconf/data/tapi-connectivity:connectivity-service/<host>/<service_uuid>', methods=['GET']) @service.route('/restconf/data/tapi-connectivity:connectivity-service/<host>', methods=['GET']) def get_child_services(host,service_uuid=None): if not host: return make_response("port is required", 400) port = 8008 context_uuid = 'admin' url = ('http://{}:{}/service/get_service/{}/{}').format(host, port,context_uuid,service_uuid) try: response = requests.get(url) if response.status_code != 200: return make_response(f"Failed to retrieve child services: {response.text}", response.status_code) child_services = response.json() return make_response(json.dumps(child_services), 200) except Exception as e: logging.error(f"Error retrieving child services: {e}") return make_response(f"Error retrieving child services: {e}", 500) No newline at end of file