summaryrefslogtreecommitdiff
path: root/frontend/src/api/routes/tiles.js
diff options
context:
space:
mode:
authorGeorgios Andreadis <info@gandreadis.com>2020-06-29 15:47:09 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 16:08:41 +0200
commit90fae26aa4bd0e0eb3272ff6e6524060e9004fbb (patch)
treebf6943882f5fa5f3114c01fc571503c79ee1056d /frontend/src/api/routes/tiles.js
parent7032a007d4431f5a0c4c5e2d3f3bd20462d49950 (diff)
Prepare frontend repository for monorepo
This change prepares the frontend Git repository for the monorepo residing at https://github.com/atlarge-research.com/opendc. To accomodate for this, we move all files into a frontend subdirectory.
Diffstat (limited to 'frontend/src/api/routes/tiles.js')
-rw-r--r--frontend/src/api/routes/tiles.js146
1 files changed, 146 insertions, 0 deletions
diff --git a/frontend/src/api/routes/tiles.js b/frontend/src/api/routes/tiles.js
new file mode 100644
index 00000000..08481ef4
--- /dev/null
+++ b/frontend/src/api/routes/tiles.js
@@ -0,0 +1,146 @@
+import { sendRequest } from "../index";
+import { deleteById, getById } from "./util";
+
+export function getTile(tileId) {
+ return getById("/tiles/{tileId}", { tileId });
+}
+
+export function deleteTile(tileId) {
+ return deleteById("/tiles/{tileId}", { tileId });
+}
+
+export function getRackByTile(tileId) {
+ return getTileObject(tileId, "/rack");
+}
+
+export function addRackToTile(tileId, rack) {
+ return addTileObject(tileId, { rack }, "/rack");
+}
+
+export function updateRackOnTile(tileId, rack) {
+ return updateTileObject(tileId, { rack }, "/rack");
+}
+
+export function deleteRackFromTile(tileId) {
+ return deleteTileObject(tileId, "/rack");
+}
+
+export function getMachinesOfRackByTile(tileId) {
+ return getById("/tiles/{tileId}/rack/machines", { tileId });
+}
+
+export function addMachineToRackOnTile(tileId, machine) {
+ return sendRequest({
+ path: "/tiles/{tileId}/rack/machines",
+ method: "POST",
+ parameters: {
+ body: {
+ machine
+ },
+ path: {
+ tileId
+ },
+ query: {}
+ }
+ });
+}
+
+export function updateMachineInRackOnTile(tileId, position, machine) {
+ return sendRequest({
+ path: "/tiles/{tileId}/rack/machines/{position}",
+ method: "PUT",
+ parameters: {
+ body: {
+ machine
+ },
+ path: {
+ tileId,
+ position
+ },
+ query: {}
+ }
+ });
+}
+
+export function deleteMachineInRackOnTile(tileId, position) {
+ return sendRequest({
+ path: "/tiles/{tileId}/rack/machines/{position}",
+ method: "DELETE",
+ parameters: {
+ body: {},
+ path: {
+ tileId,
+ position
+ },
+ query: {}
+ }
+ });
+}
+
+export function getCoolingItemByTile(tileId) {
+ return getTileObject(tileId, "/cooling-item");
+}
+
+export function addCoolingItemToTile(tileId, coolingItemId) {
+ return addTileObject(tileId, { coolingItemId }, "/cooling-item");
+}
+
+export function updateCoolingItemOnTile(tileId, coolingItemId) {
+ return updateTileObject(tileId, { coolingItemId }, "/cooling-item");
+}
+
+export function deleteCoolingItemFromTile(tileId) {
+ return deleteTileObject(tileId, "/cooling-item");
+}
+
+export function getPSUByTile(tileId) {
+ return getTileObject(tileId, "/psu");
+}
+
+export function addPSUToTile(tileId, psuId) {
+ return addTileObject(tileId, { psuId }, "/psu");
+}
+
+export function updatePSUOnTile(tileId, psuId) {
+ return updateTileObject(tileId, { psuId }, "/psu");
+}
+
+export function deletePSUFromTile(tileId) {
+ return deleteTileObject(tileId, "/psu");
+}
+
+function getTileObject(tileId, endpoint) {
+ return getById("/tiles/{tileId}" + endpoint, { tileId });
+}
+
+function addTileObject(tileId, objectBody, endpoint) {
+ return sendRequest({
+ path: "/tiles/{tileId}" + endpoint,
+ method: "POST",
+ parameters: {
+ body: objectBody,
+ path: {
+ tileId
+ },
+ query: {}
+ }
+ });
+}
+
+function updateTileObject(tileId, objectBody, endpoint) {
+ return sendRequest({
+ path: "/tiles/{tileId}" + endpoint,
+ method: "PUT",
+ parameters: {
+ body: objectBody,
+ path: {
+ tileId
+ },
+ query: {}
+ }
+ });
+}
+
+function deleteTileObject(tileId, endpoint) {
+ return deleteById("/tiles/{tileId}" + endpoint, { tileId });
+}