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 }); }