summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-10-29 18:13:59 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-10-29 18:13:59 +0100
commited9ac9fefe00a0f0945a1b80fdb6cb364c67a073 (patch)
tree23fc377c210b4b48e86f7df0652bc9b125bf4c37
parentbb62b80585b2453529f45b981617e8321b8ded2c (diff)
Use ObjectId for topology identifier in Scenario
-rw-r--r--api/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/api/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py b/api/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
index fc2cab16..2f042e06 100644
--- a/api/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
+++ b/api/opendc/api/v2/portfolios/portfolioId/scenarios/endpoint.py
@@ -1,5 +1,6 @@
from opendc.models.portfolio import Portfolio
from opendc.models.scenario import Scenario
+from opendc.models.topology import Topology
from opendc.util.rest import Response
@@ -32,8 +33,13 @@ def POST(request):
scenario = Scenario(request.params_body['scenario'])
+ topology = Topology.from_id(scenario.obj['topology']['topologyId'])
+ topology.check_exists()
+ topology.check_user_access(request.google_id, True)
+
scenario.set_property('portfolioId', portfolio.get_id())
scenario.set_property('simulation', {'state': 'QUEUED'})
+ scenario.set_property('topology.topologyId', topology.get_id())
scenario.insert()