summaryrefslogtreecommitdiff
path: root/api/opendc
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-10-30 00:17:01 +0100
committerGitHub <noreply@github.com>2020-10-30 00:17:01 +0100
commit91b38f216f3107d4be2fa26e78c3e6df674bcbca (patch)
tree1f2239bb3758ac3099542fe7b06d559d58bdecd5 /api/opendc
parentea0dd07e8a5deb8084ebcbae780e57fdd90bccc2 (diff)
parent4ec2ace2e1ca37294f6e55c2965f1fc6f98d622c (diff)
Merge pull request #56 from atlarge-research/bug/scenario
Fix workings of scenarios
Diffstat (limited to 'api/opendc')
-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()