diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-08 11:09:37 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:59 +0200 |
| commit | 6296bb95ba93cb9111e19f06329b6c9b9aec57d5 (patch) | |
| tree | d0aabf6a6c1606f16f11d6f653b904997e7010f2 /src/sagas | |
| parent | fc9c52a8f102202bd0e1a8a9dc4d8d68babe2304 (diff) | |
Fetch all unit specifications on initial datacenter load
Diffstat (limited to 'src/sagas')
| -rw-r--r-- | src/sagas/objects.js | 16 | ||||
| -rw-r--r-- | src/sagas/topology.js | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/sagas/objects.js b/src/sagas/objects.js index 5c9f00c2..508f1cf5 100644 --- a/src/sagas/objects.js +++ b/src/sagas/objects.js @@ -6,6 +6,10 @@ import {getTilesOfRoom} from "../api/routes/rooms"; import {getSection} from "../api/routes/sections"; import {getPathsOfSimulation, getSimulation} from "../api/routes/simulations"; import { + getAllCPUs, + getAllGPUs, + getAllMemories, + getAllStorages, getCoolingItem, getCPU, getFailureModel, @@ -64,15 +68,27 @@ export const fetchAndStoreUser = (id) => export const fetchAndStoreFailureModel = (id) => fetchAndStoreObject("failureModel", id, call(getFailureModel, id)); +export const fetchAndStoreAllCPUs = () => + fetchAndStoreObjects("cpu", call(getAllCPUs)); + export const fetchAndStoreCPU = (id) => fetchAndStoreObject("cpu", id, call(getCPU, id)); +export const fetchAndStoreAllGPUs = () => + fetchAndStoreObjects("gpu", call(getAllGPUs)); + export const fetchAndStoreGPU = (id) => fetchAndStoreObject("gpu", id, call(getGPU, id)); +export const fetchAndStoreAllMemories = () => + fetchAndStoreObjects("memory", call(getAllMemories)); + export const fetchAndStoreMemory = (id) => fetchAndStoreObject("memory", id, call(getMemory, id)); +export const fetchAndStoreAllStorages = () => + fetchAndStoreObjects("storage", call(getAllStorages)); + export const fetchAndStoreStorage = (id) => fetchAndStoreObject("storage", id, call(getStorage, id)); diff --git a/src/sagas/topology.js b/src/sagas/topology.js index f507b2ad..b128ff97 100644 --- a/src/sagas/topology.js +++ b/src/sagas/topology.js @@ -22,6 +22,10 @@ import { updateRackOnTile } from "../api/routes/tiles"; import { + fetchAndStoreAllCPUs, + fetchAndStoreAllGPUs, + fetchAndStoreAllMemories, + fetchAndStoreAllStorages, fetchAndStoreCoolingItem, fetchAndStoreCPU, fetchAndStoreDatacenter, @@ -43,6 +47,7 @@ export function* onFetchLatestDatacenter(action) { const latestPath = paths[paths.length - 1]; const sections = yield fetchAndStoreSectionsOfPath(latestPath.id); const latestSection = sections[sections.length - 1]; + yield fetchAllUnitSpecifications(); yield fetchDatacenter(latestSection.datacenterId); yield put(fetchLatestDatacenterSucceeded(latestSection.datacenterId)); } catch (error) { @@ -64,6 +69,17 @@ export function* fetchDatacenter(datacenterId) { } } +function* fetchAllUnitSpecifications() { + try { + yield fetchAndStoreAllCPUs(); + yield fetchAndStoreAllGPUs(); + yield fetchAndStoreAllMemories(); + yield fetchAndStoreAllStorages(); + } catch (error) { + console.log(error); + } +} + function* fetchRoom(roomId) { const tiles = yield fetchAndStoreTilesOfRoom(roomId); yield put(addPropToStoreObject("room", roomId, {tileIds: tiles.map(tile => tile.id)})); |
