diff options
Diffstat (limited to 'src/sagas/objects.js')
| -rw-r--r-- | src/sagas/objects.js | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/src/sagas/objects.js b/src/sagas/objects.js deleted file mode 100644 index 3cfd43a6..00000000 --- a/src/sagas/objects.js +++ /dev/null @@ -1,140 +0,0 @@ -import { call, put, select } from "redux-saga/effects"; -import { addToStore } from "../actions/objects"; -import { getDatacenter, getRoomsOfDatacenter } from "../api/routes/datacenters"; -import { getPath, getSectionsOfPath } from "../api/routes/paths"; -import { getTilesOfRoom } from "../api/routes/rooms"; -import { getAllSchedulers } from "../api/routes/schedulers"; -import { getSection } from "../api/routes/sections"; -import { getPathsOfSimulation, getSimulation } from "../api/routes/simulations"; -import { - getAllCPUs, - getAllGPUs, - getAllMemories, - getAllStorages, - getCoolingItem, - getCPU, - getFailureModel, - getGPU, - getMemory, - getPSU, - getStorage -} from "../api/routes/specifications"; -import { getMachinesOfRackByTile, getRackByTile } from "../api/routes/tiles"; -import { getAllTraces } from "../api/routes/traces"; -import { getUser } from "../api/routes/users"; - -export const OBJECT_SELECTORS = { - simulation: state => state.objects.simulation, - user: state => state.objects.user, - authorization: state => state.objects.authorization, - failureModel: state => state.objects.failureModel, - cpu: state => state.objects.cpu, - gpu: state => state.objects.gpu, - memory: state => state.objects.memory, - storage: state => state.objects.storage, - machine: state => state.objects.machine, - rack: state => state.objects.rack, - coolingItem: state => state.objects.coolingItem, - psu: state => state.objects.psu, - tile: state => state.objects.tile, - room: state => state.objects.room, - datacenter: state => state.objects.datacenter, - section: state => state.objects.section, - path: state => state.objects.path -}; - -function* fetchAndStoreObject(objectType, id, apiCall) { - const objectStore = yield select(OBJECT_SELECTORS[objectType]); - let object = objectStore[id]; - if (!object) { - object = yield apiCall; - yield put(addToStore(objectType, object)); - } - return object; -} - -function* fetchAndStoreObjects(objectType, apiCall) { - const objects = yield apiCall; - for (let index in objects) { - yield put(addToStore(objectType, objects[index])); - } - return objects; -} - -export const fetchAndStoreSimulation = id => - fetchAndStoreObject("simulation", id, call(getSimulation, id)); - -export const fetchAndStoreUser = id => - fetchAndStoreObject("user", id, call(getUser, 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)); - -export const fetchAndStoreMachinesOfTile = tileId => - fetchAndStoreObjects("machine", call(getMachinesOfRackByTile, tileId)); - -export const fetchAndStoreRackOnTile = (id, tileId) => - fetchAndStoreObject("rack", id, call(getRackByTile, tileId)); - -export const fetchAndStoreCoolingItem = id => - fetchAndStoreObject("coolingItem", id, call(getCoolingItem, id)); - -export const fetchAndStorePSU = id => - fetchAndStoreObject("psu", id, call(getPSU, id)); - -export const fetchAndStoreTilesOfRoom = roomId => - fetchAndStoreObjects("tile", call(getTilesOfRoom, roomId)); - -export const fetchAndStoreRoomsOfDatacenter = datacenterId => - fetchAndStoreObjects("room", call(getRoomsOfDatacenter, datacenterId)); - -export const fetchAndStoreDatacenter = id => - fetchAndStoreObject("datacenter", id, call(getDatacenter, id)); - -export const fetchAndStoreSection = id => - fetchAndStoreObject("section", id, call(getSection, id)); - -export const fetchAndStoreSectionsOfPath = pathId => - fetchAndStoreObjects("section", call(getSectionsOfPath, pathId)); - -export const fetchAndStorePath = id => - fetchAndStoreObject("path", id, call(getPath, id)); - -export const fetchAndStorePathsOfSimulation = simulationId => - fetchAndStoreObjects("path", call(getPathsOfSimulation, simulationId)); - -export const fetchAndStoreAllTraces = () => - fetchAndStoreObjects("trace", call(getAllTraces)); - -export const fetchAndStoreAllSchedulers = function*() { - const objects = yield call(getAllSchedulers); - for (let index in objects) { - objects[index].id = objects[index].name; - yield put(addToStore("scheduler", objects[index])); - } - return objects; -}; |
