diff --git a/drugstone/models.py b/drugstone/models.py index d28eab816461b30f252fe565fa290a250a841eba..488902c535f656a412b85e003c196c7abeae6b0c 100755 --- a/drugstone/models.py +++ b/drugstone/models.py @@ -215,3 +215,4 @@ class Network(models.Model): nodes = models.TextField(null=True, default='') edges = models.TextField(null=True, default='') config = models.TextField(null=True, default='') + groups = models.TextField(null=True, default='') diff --git a/drugstone/views.py b/drugstone/views.py index 638147666c5b4b24101731e038b8b96c15d310d6..14d58bc21ab3135f475814871d405a56708776bf 100755 --- a/drugstone/views.py +++ b/drugstone/views.py @@ -279,12 +279,15 @@ def create_network(request) -> Response: request.data['network']['edges'] = [] if 'config' not in request.data: request.data['config'] = {} + if 'groups' not in request.data: + request.data['groups'] = {} id = uuid.uuid4().hex while True: try: Network.objects.create(id=id, nodes=request.data['network']['nodes'], - edges=request.data['network']['edges'], config=request.data['config']) + edges=request.data['network']['edges'], config=request.data['config'], + groups=request.data['groups']) break except IntegrityError: id = uuid.uuid4().hex @@ -296,8 +299,10 @@ def load_network(request) -> Response: network = NetworkSerializer().to_representation(Network.objects.get(id=request.query_params.get('id'))) result = {'network': {'nodes': json.loads(network['nodes'].replace("'", '"')), 'edges': json.loads(network['edges'].replace("'", '"'))}, - 'config': json.loads( - network['config'].replace("'", '"').replace('True', 'true').replace('False', 'false'))} + 'config': json.loads( + network['config'].replace("'", '"').replace('True', 'true').replace('False', 'false')), + 'groups': json.loads( + network['groups'].replace("'", '"').replace('True', 'true').replace('False', 'false'))} return Response(result)