summaryrefslogtreecommitdiff
path: root/src/sagas/simulations.js
diff options
context:
space:
mode:
authorGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-08-25 17:48:12 +0200
committerGeorgios Andreadis <g.andreadis@student.tudelft.nl>2017-09-23 10:05:44 +0200
commitc47a27b826f7d76410308a4151611a366f9eaf46 (patch)
treec1ca374204714cedabcacb8620848b903a0bf8d6 /src/sagas/simulations.js
parent1ddbbd3563af77a218020021ea50a8832900b4db (diff)
Fetch and display datacenter topology
Diffstat (limited to 'src/sagas/simulations.js')
-rw-r--r--src/sagas/simulations.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/sagas/simulations.js b/src/sagas/simulations.js
new file mode 100644
index 00000000..b699002e
--- /dev/null
+++ b/src/sagas/simulations.js
@@ -0,0 +1,30 @@
+import {call, put} from "redux-saga/effects";
+import {addToStore} from "../actions/objects";
+import {addSimulationSucceeded, deleteSimulationSucceeded} from "../actions/simulations";
+import {addSimulation, deleteSimulation} from "../api/routes/simulations";
+
+export function* onSimulationAdd(action) {
+ try {
+ const simulation = yield call(addSimulation, {name: action.name});
+ yield put(addToStore("simulation", simulation));
+
+ const authorization = {
+ simulationId: simulation.id,
+ userId: action.userId,
+ authorizationLevel: "OWN"
+ };
+ yield put(addToStore("authorization", authorization));
+ yield put(addSimulationSucceeded([authorization.userId, authorization.simulationId]));
+ } catch (error) {
+ console.log(error);
+ }
+}
+
+export function* onSimulationDelete(action) {
+ try {
+ yield call(deleteSimulation, action.id);
+ yield put(deleteSimulationSucceeded(action.id));
+ } catch (error) {
+ console.log(error);
+ }
+}