diff --git a/src/nbi/service/tfs_api/Resources.py b/src/nbi/service/tfs_api/Resources.py index ab608f2d746a2faffc819f25cc026ce9b949aff7..294a06e6e27aba3c1fbb8fe7eff27c1c22169a86 100644 --- a/src/nbi/service/tfs_api/Resources.py +++ b/src/nbi/service/tfs_api/Resources.py @@ -55,10 +55,10 @@ class Contexts(_Resource): json_requests = request.get_json() if 'contexts' in json_requests: json_requests = json_requests['contexts'] - return [ - format_grpc_to_json(self.context_client.SetContext(grpc_context(context))) + return jsonify([ + grpc_message_to_json(self.context_client.SetContext(grpc_context(context))) for context in json_requests - ] + ]) class Context(_Resource): def get(self, context_uuid : str): @@ -157,10 +157,10 @@ class Topologies(_Resource): for topology in json_requests: if context_uuid != topology['topology_id']['context_id']['context_uuid']['uuid']: raise BadRequest('Mismatching context_uuid') - return [ - format_grpc_to_json(self.context_client.SetTopology(grpc_topology(**topology))) + return jsonify([ + grpc_message_to_json(self.context_client.SetTopology(grpc_topology(topology))) for topology in json_requests - ] + ]) class Topology(_Resource): def get(self, context_uuid : str, topology_uuid : str): @@ -194,13 +194,15 @@ class Services(_Resource): json_requests = request.get_json() if 'services' in json_requests: json_requests = json_requests['services'] + if isinstance(json_requests, dict): + json_requests = [json_requests] for service in json_requests: if context_uuid != service['service_id']['context_id']['context_uuid']['uuid']: raise BadRequest('Mismatching context_uuid') - return [ - format_grpc_to_json(self.service_client.CreateService(grpc_service(**service))) + return jsonify([ + grpc_message_to_json(self.service_client.CreateService(grpc_service(service))) for service in json_requests - ] + ]) class Service(_Resource): def get(self, context_uuid : str, service_uuid : str): @@ -232,10 +234,10 @@ class Slices(_Resource): for slice_ in json_requests: if context_uuid != slice_['slice_id']['context_id']['context_uuid']['uuid']: raise BadRequest('Mismatching context_uuid') - return [ - format_grpc_to_json(self.slice_client.CreateSlice(grpc_slice(**slice_))) + return jsonify([ + grpc_message_to_json(self.slice_client.CreateSlice(grpc_slice(slice_))) for slice_ in json_requests - ] + ]) class Slice(_Resource): def get(self, context_uuid : str, slice_uuid : str): @@ -264,10 +266,10 @@ class Devices(_Resource): json_requests = request.get_json() if 'devices' in json_requests: json_requests = json_requests['devices'] - return [ - format_grpc_to_json(self.device_client.AddDevice(grpc_device(device))) + return jsonify([ + grpc_message_to_json(self.device_client.AddDevice(grpc_device(device))) for device in json_requests - ] + ]) class Device(_Resource): def get(self, device_uuid : str): @@ -294,10 +296,10 @@ class Links(_Resource): json_requests = request.get_json() if 'links' in json_requests: json_requests = json_requests['links'] - return [ - format_grpc_to_json(self.context_client.SetLink(grpc_link(link))) + return jsonify([ + grpc_message_to_json(self.context_client.SetLink(grpc_link(link))) for link in json_requests - ] + ]) class Link(_Resource): def get(self, link_uuid : str):