summaryrefslogtreecommitdiff
path: root/web-server
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-07-01 14:02:06 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:47:20 +0200
commit85901acea556c69891b13ab7299cd62445292c7a (patch)
tree3daffa1a9600df8471a78db719b7964b0bc5c9ef /web-server
parentde8f12d74faef5fa3f9e38d1340948cab2d06ea3 (diff)
Fix simulation interface
Diffstat (limited to 'web-server')
-rw-r--r--web-server/opendc/api/v2/experiments/experimentId/endpoint.py4
-rw-r--r--web-server/opendc/api/v2/simulations/endpoint.py2
-rw-r--r--web-server/opendc/api/v2/simulations/simulationId/endpoint.py4
-rw-r--r--web-server/opendc/api/v2/topologies/topologyId/endpoint.py4
-rw-r--r--web-server/opendc/api/v2/users/userId/endpoint.py4
-rw-r--r--web-server/opendc/models/model.py7
-rw-r--r--web-server/opendc/util/database.py8
7 files changed, 17 insertions, 16 deletions
diff --git a/web-server/opendc/api/v2/experiments/experimentId/endpoint.py b/web-server/opendc/api/v2/experiments/experimentId/endpoint.py
index 103c24ac..5120368e 100644
--- a/web-server/opendc/api/v2/experiments/experimentId/endpoint.py
+++ b/web-server/opendc/api/v2/experiments/experimentId/endpoint.py
@@ -60,6 +60,6 @@ def DELETE(request):
simulation.obj['experimentIds'].remove(request.params_path['experimentId'])
simulation.update()
- experiment.delete()
+ old_object = experiment.delete()
- return Response(200, 'Successfully deleted experiment.', experiment.obj)
+ return Response(200, 'Successfully deleted experiment.', old_object)
diff --git a/web-server/opendc/api/v2/simulations/endpoint.py b/web-server/opendc/api/v2/simulations/endpoint.py
index c978fad7..bcdea650 100644
--- a/web-server/opendc/api/v2/simulations/endpoint.py
+++ b/web-server/opendc/api/v2/simulations/endpoint.py
@@ -15,7 +15,7 @@ def POST(request):
topology = Topology({'name': 'Default topology', 'rooms': []})
topology.insert()
- simulation = Simulation({'simulation': request.params_body['simulation']})
+ simulation = Simulation(request.params_body['simulation'])
simulation.set_property('datetimeCreated', Database.datetime_to_string(datetime.now()))
simulation.set_property('datetimeLastEdited', Database.datetime_to_string(datetime.now()))
simulation.set_property('topologyIds', [topology.get_id()])
diff --git a/web-server/opendc/api/v2/simulations/simulationId/endpoint.py b/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
index 05b38686..93617ea8 100644
--- a/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
+++ b/web-server/opendc/api/v2/simulations/simulationId/endpoint.py
@@ -55,6 +55,6 @@ def DELETE(request):
experiment = Experiment.from_id(experiment_id)
experiment.delete()
- simulation.delete()
+ old_object = simulation.delete()
- return Response(200, 'Successfully deleted simulation.', simulation.obj)
+ return Response(200, 'Successfully deleted simulation.', old_object)
diff --git a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
index 84f20903..1dcccb3e 100644
--- a/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
+++ b/web-server/opendc/api/v2/topologies/topologyId/endpoint.py
@@ -51,6 +51,6 @@ def DELETE(request):
simulation.obj['topologyIds'].remove(request.params_path['topologyId'])
simulation.update()
- topology.delete()
+ old_object = topology.delete()
- return Response(200, 'Successfully deleted topology.', topology.obj)
+ return Response(200, 'Successfully deleted topology.', old_object)
diff --git a/web-server/opendc/api/v2/users/userId/endpoint.py b/web-server/opendc/api/v2/users/userId/endpoint.py
index 660083b6..eedb2e3c 100644
--- a/web-server/opendc/api/v2/users/userId/endpoint.py
+++ b/web-server/opendc/api/v2/users/userId/endpoint.py
@@ -46,6 +46,6 @@ def DELETE(request):
user.check_exists()
user.check_correct_user(request.google_id)
- user.delete()
+ old_object = user.delete()
- return Response(200, 'Successfully deleted user.', user.obj)
+ return Response(200, 'Successfully deleted user.', old_object)
diff --git a/web-server/opendc/models/model.py b/web-server/opendc/models/model.py
index f42134bf..cab283c9 100644
--- a/web-server/opendc/models/model.py
+++ b/web-server/opendc/models/model.py
@@ -46,5 +46,10 @@ class Model:
DB.update(self.get_id(), self.obj, self.collection_name)
def delete(self):
- """Deletes the enclosed object in the database."""
+ """Deletes the enclosed object in the database, if it existed."""
+ if self.obj is None:
+ return None
+
+ old_object = self.obj.copy()
DB.delete_one({'_id': self.get_id()}, self.collection_name)
+ return old_object
diff --git a/web-server/opendc/util/database.py b/web-server/opendc/util/database.py
index 0402c2e1..80cdcbab 100644
--- a/web-server/opendc/util/database.py
+++ b/web-server/opendc/util/database.py
@@ -63,18 +63,14 @@ class Database:
The query needs to be in json format, i.e.: `{'name': prefab_name}`.
"""
- bson = getattr(self.opendc_db, collection).delete_one(query)
-
- return self.convert_bson_to_json(bson)
+ getattr(self.opendc_db, collection).delete_one(query)
def delete_all(self, query, collection):
"""Deletes all objects matching the given query.
The query needs to be in json format, i.e.: `{'name': prefab_name}`.
"""
- bson = getattr(self.opendc_db, collection).delete_many(query)
-
- return self.convert_bson_to_json(bson)
+ getattr(self.opendc_db, collection).delete_many(query)
@staticmethod
def convert_bson_to_json(bson):