diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-25 17:48:12 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:44 +0200 |
| commit | c47a27b826f7d76410308a4151611a366f9eaf46 (patch) | |
| tree | c1ca374204714cedabcacb8620848b903a0bf8d6 /src/sagas/simulations.js | |
| parent | 1ddbbd3563af77a218020021ea50a8832900b4db (diff) | |
Fetch and display datacenter topology
Diffstat (limited to 'src/sagas/simulations.js')
| -rw-r--r-- | src/sagas/simulations.js | 30 |
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); + } +} |
